Tutorial Terraform untuk Pemula: Infrastruktur sebagai Kode Dari File Pertama hingga Modul

  1. Beranda
  2. Blog
  3. DevOps

DevOps

Tutorial Terraform untuk Pemula: Infrastruktur sebagai Kode Dari File Pertama hingga Modul

Pelajari Terraform tanpa akun cloud atau tagihan kejutan. Mulailah dengan file lokal untuk memahami rencana, penerapan, dan status, lalu beralih ke sumber daya cloud nyata, modul, dan alur kerja yang aman bagi tim.

10 menit baca
Tutorial Terraform untuk pemula: infrastruktur sebagai kode dari file pertama hingga modul

Poin penting

  • Terraform membuat dan mengubah infrastruktur dari file teks yang dapat Anda simpan di Git.
  • Alur kerja inti adalah init, plan, apply, dan plan menunjukkan perubahan sebelum terjadi.
  • file status mencatat apa yang dikelola Terraform. Lindungi, dan jangan pernah komit ke Git.
  • Gunakan modul untuk menggunakan kembali pola, dan status jarak jauh dengan penguncian saat bekerja dalam tim.

Mengklik di sekitar konsol cloud baik-baik saja untuk satu server. Ini rusak ketika Anda memerlukan pengaturan yang sama dalam pementasan dan produksi, atau ketika seseorang bertanya siapa yang mengubah aturan firewall pada bulan Maret lalu. Tutorial Terraform untuk pemula ini menunjukkan cara yang lebih baik: jelaskan infrastruktur Anda dalam kode, dan biarkan alat mewujudkannya.

Sebagian besar tutorial dimulai dengan akun cloud, yang menambah risiko penagihan sebelum Anda mempelajari apa pun. Kami mulai dengan penyedia Terraform local, yang hanya membuat file di komputer Anda, jadi kesalahan tidak memerlukan biaya apa pun. Contoh-contoh ini dan contoh keluarannya adalah ilustrasi standar yang tidak kami jalankan untuk artikel ini, dan susunan kata yang tepat bervariasi menurut versi.

Apa itu Terraform?

Terraform adalah alat infrastruktur sebagai kode (IaC) dari HashiCorp. Anda menulis file konfigurasi dalam HCL, Bahasa Konfigurasi HashiCorp, yang menjelaskan hasil akhir yang Anda inginkan. Terraform kemudian menentukan apa yang harus dibuat, diubah, atau dihapus untuk mencapainya.

Ia berkomunikasi dengan platform melalui plugin yang disebut penyedia. Ada penyedia untuk AWS, Azure, Google Cloud, Kubernetes, GitHub, Cloudflare, dan banyak lainnya, sehingga Anda dapat menggunakan satu alur kerja di semuanya.

Satu hal yang perlu diketahui: pada tahun 2023, HashiCorp memindahkan Terraform ke Lisensi Sumber Bisnis. Komunitas kemudian membuat OpenTofu, sebuah fork sumber terbuka yang menggunakan perintah dan konfigurasi yang sangat mirip. Apa yang Anda pelajari di sini sebagian besar berlaku untuk keduanya.

Mengapa infrastruktur sebagai kode?

Pertanyaan Konsol manual berfungsi terraform
Siapa yang mengubah apa? Sulit untuk mengetahuinya sejarah Git
Bisakah kita menyalin pementasan ke produksi? Mengklik dengan hati-hati Gunakan kembali kode tersebut
Apa manfaat perubahan ini? Anda mengetahuinya setelah itu terraform plan menunjukkannya kepada Anda terlebih dahulu
Bisakah seseorang mengulasnya? Tidak mudah Permintaan tarik normal
Pemulihan bencana Tergantung pada ingatan orang Buat ulang dari kode, ditambah cadangan data

Terraform juga deklaratif. Anda menyatakan “harus ada tiga server”, bukan “buat server, tiga kali”. Jika sudah ada dua, ia menambahkan satu. Sebuah skrip yang hanya mengulangi langkah-langkahnya bisa menghasilkan tiga langkah lagi.

Instal Terraform

Instal menggunakan instruksi resmi HashiCorp untuk sistem operasi Anda, lalu konfirmasikan bahwa itu berfungsi:

terraform -version

Buat folder kosong untuk proyek tersebut. Terraform membaca setiap file .tf di folder saat ini, jadi satu folder sama dengan satu konfigurasi.

Konfigurasi pertama Anda

Buat file bernama main.tf:

terraform {
  required_providers {
    local = {
      source  = "hashicorp/local"
      version = "~> 2.5"
    }
  }
}

resource "local_file" "greeting" {
  filename = "${path.module}/hello.txt"
  content  = "Hello from Terraform\n"
}

Lihatlah blok resource, karena hampir semua yang Anda tulis mengikuti bentuk ini. local_file adalah jenis sumber daya, dan greeting adalah nama Anda sendiri untuk sumber daya tersebut di dalam konfigurasi. Bersama-sama, mereka membentuk alamatnya: local_file.greeting. Argumen di dalamnya menggambarkan apa yang Anda inginkan.

Alur kerja: init, plan, apply

terraform init

Ini menyiapkan folder dan mengunduh penyedia yang Anda minta. Jalankan sekali di awal, dan jalankan lagi setiap kali Anda menambahkan penyedia atau modul. Itu juga membuat file .terraform.lock.hcl, yang mencatat versi penyedia yang tepat. Komit file itu ke Git.

terraform init

rencana terraform

Ini membandingkan kode Anda dengan apa yang ada dan menunjukkan perubahan yang direncanakan, tanpa menyentuh apa pun:

terraform plan

# local_file.greeting will be created
+ resource "local_file" "greeting" {
    + content  = "Hello from Terraform\n"
    + filename = "./hello.txt"
  }

Plan: 1 to add, 0 to change, 0 to destroy.

Pelajari simbol-simbolnya, karena Anda akan membaca banyak rencana:

Simbol Artinya
+ Buat
~ Pembaruan di tempat
- Hancurkan
-/+ Hancurkan dan ciptakan kembali

terraform berlaku

Ini menunjukkan rencananya lagi, meminta konfirmasi dan membuat perubahan:

terraform apply

Ketik yes, dan hello.txt muncul. Sekarang jalankan terraform plan lagi. Seharusnya melaporkan tidak ada perubahan, karena kenyataan sudah sesuai dengan kode Anda. Properti ini, jika dijalankan berulang kali tidak menyebabkan perubahan lebih lanjut, disebut idempotensi.

Mengubah dan menghancurkan

Edit baris content dan jalankan terraform plan. Terraform menemukan perbedaannya dan mengusulkan perubahan. Untuk sumber daya ini, ia menggantikan file. Perhatikan penggantian infrastruktur nyata, karena membuat ulang database dapat berarti kehilangan data.

Selanjutnya, hapus hello.txt dengan tangan dan rencanakan lagi. Terraform menyadari bahwa itu hilang dan menawarkan untuk membuatnya kembali. Perbedaan antara kode Anda dan kenyataan disebut drift, dan mendeteksinya adalah salah satu manfaat utama alat ini.

Untuk menghapus semua yang dikelola konfigurasi ini, jalankan:

terraform destroy

Variabel dan keluaran

Nilai-nilai hard-code menghentikan Anda menggunakan kembali kode. Variabel masukan membuat konfigurasi menjadi fleksibel, dan keluaran melaporkan kembali nilai-nilai yang berguna:

# variables.tf
variable "environment" {
  type        = string
  description = "Deployment environment"
  default     = "dev"

  validation {
    condition     = contains(["dev", "staging", "prod"], var.environment)
    error_message = "Use dev, staging or prod."
  }
}

# main.tf
resource "local_file" "config" {
  filename = "${path.module}/${var.environment}.txt"
  content  = "environment=${var.environment}\n"
}

# outputs.tf
output "config_path" {
  value = local_file.config.filename
}

Tetapkan nilai pada baris perintah, atau simpan dalam file bernama terraform.tfvars, yang dimuat secara otomatis:

terraform apply -var="environment=staging"

Menggunakan local_file.config.filename dalam output juga merupakan cara sumber daya merujuk satu sama lain. Terraform membaca referensi tersebut untuk menentukan urutan yang benar dalam menciptakan sesuatu.

Keadaan terraform

Setelah mendaftar, Anda akan menemukan file bernama terraform.tfstate. Ini adalah catatan Terraform tentang apa yang dikelolanya, memetakan kode Anda ke objek nyata. Tanpanya, Terraform tidak akan mengetahui bahwa local_file.greeting adalah file spesifik tersebut.

Tiga aturan penting di sini:

  1. Jangan pernah memasukkan status ke Git. Ini dapat berisi kata sandi dan rahasia lainnya dalam teks biasa.
  2. Jangan mengeditnya dengan tangan. Gunakan perintah seperti terraform state list dan terraform state mv.
  3. Gunakan backend jarak jauh untuk proyek tim. Backend bersama menyimpan status secara terpusat dan menguncinya, sehingga dua orang tidak dapat mengajukan permohonan sekaligus.

Berikut adalah backend umum yang menggunakan Amazon S3, dengan bucket yang Anda buat sebelumnya:

terraform {
  backend "s3" {
    bucket       = "my-company-terraform-state"
    key          = "shop/prod/terraform.tfstate"
    region       = "ap-south-1"
    encrypt      = true
    use_lockfile = true
  }
}

Kiat: Mulailah setiap proyek dengan .gitignore yang mengecualikan .terraform/, *.tfstate, *.tfstate.* dan *.tfvars file apa pun yang menyimpan rahasia.

Sumber daya cloud yang nyata

Alur kerja tidak berubah saat Anda berpindah ke cloud. Ini adalah bucket S3 di AWS. Periksa harga terlebih dahulu, dan hancurkan apa pun yang Anda buat saat berlatih:

provider "aws" {
  region = "ap-south-1"
}

resource "aws_s3_bucket" "reports" {
  bucket = "my-unique-reports-bucket-2026"

  tags = {
    Environment = var.environment
    ManagedBy   = "terraform"
  }
}

Terraform mendapatkan kredensial dari pengaturan AWS CLI atau variabel lingkungan Anda. Jangan pernah menulis kunci akses ke file .tf.

Modul

Modul hanyalah folder file Terraform yang dapat Anda panggil dengan input berbeda. Ini berfungsi seperti sebuah fungsi, memungkinkan Anda mendefinisikan suatu pola satu kali dan menggunakannya kembali:

project/
  main.tf
  modules/
    reports_bucket/
      main.tf
      variables.tf
      outputs.tf
module "staging_reports" {
  source      = "./modules/reports_bucket"
  environment = "staging"
}

module "prod_reports" {
  source      = "./modules/reports_bucket"
  environment = "prod"
}

Terraform Registry publik juga memiliki modul siap pakai, tetapi bacalah modul tersebut sebelum Anda mengandalkannya, dan sematkan versinya. Jangan membuat modul terlalu dini. Tunggu sampai Anda mengulangi suatu pola setidaknya dua kali.

Alur kerja tim yang aman

  1. Buat cabang dan ubah file .tf. Lihat Tutorial Git untuk pemula kami jika Anda memerlukan penyegaran.
  2. Jalankan terraform fmt dan terraform validate.
  3. Buka permintaan tarik, dengan keluaran terraform plan terlampir untuk ditinjau.
  4. Setelah disetujui, terapkan rencana tersimpan tersebut dari satu tempat terkendali, idealnya di saluran pipa.

Menyimpan paket memastikan Anda menerapkan apa yang telah ditinjau:

terraform plan -out=tfplan
terraform apply tfplan

Hal ini secara alami cocok dengan CI/CD dan Tindakan GitHub. Terraform biasanya menyediakan cluster, dan alat seperti Kubernetes kemudian menjalankan aplikasi di atasnya.

Kesalahan umum

  • Melamar tanpa membaca rencana. Satu -/+ di database bisa menjadi kejutan yang sangat mahal.
  • Menyimpan status di satu laptop. Jika laptop tersebut hilang, Terraform akan kehilangan jejak infrastruktur Anda.
  • Membuat perubahan konsol manual. Perubahan tersebut menyebabkan penyimpangan, dan penerapan selanjutnya dapat membatalkan perubahan tersebut.
  • Menggunakan versi yang tidak dipasangi pin. Pasang pin pada penyedia dan versi modul sehingga peningkatan dilakukan dengan sengaja.
  • Menggunakan satu konfigurasi besar. Pemisahan berdasarkan lingkungan atau sistem membatasi kerusakan akibat kesalahan apa pun.

Penutup

Anda sekarang telah melihat ide di balik hampir semua pekerjaan Terraform: mendeklarasikan sumber daya, meninjau rencana, menerapkannya, dan melindungi negara. Berlatihlah dengan penyedia local hingga alur kerja terasa alami, lalu kelola satu sumber daya nyata kecil di akun tingkat gratis. Memasukkan status dan modul jarak jauh ketika lebih dari satu orang, atau lebih dari satu lingkungan, terlibat.

Pertanyaan yang sering diajukan

Terraform digunakan untuk apa?

Terraform digunakan untuk membuat dan mengelola infrastruktur, seperti server, jaringan, database, dan DNS, dengan mendeskripsikannya dalam kode alih-alih mengonfigurasinya secara manual.

Apakah Terraform gratis?

Terraform CLI bebas digunakan di bawah Lisensi Sumber Bisnisnya, meskipun persyaratannya membatasi beberapa penggunaan komersial yang bersaing. HCP Terraform memiliki tingkatan berbayar, dan OpenTofu adalah open source.

Apa perbedaan antara Terraform dan Ansible?

Terraform terutama menyediakan infrastruktur secara deklaratif. Ansible terutama mengonfigurasi perangkat lunak pada mesin yang ada. Banyak tim menggunakan keduanya, Terraform terlebih dahulu dan Ansible setelahnya.

Apa itu file status Terraform?

Ini adalah catatan yang memetakan konfigurasi Anda ke sumber daya nyata. Terraform menggunakannya untuk mengatasi perubahan. Itu bisa menyimpan rahasia, jadi simpanlah dengan aman dan jauhkan dari Git.

Apakah saya perlu mengetahui pemrograman untuk mempelajari Terraform?

Tidak terlalu. HCL sederhana dan deklaratif. Memahami platform yang Anda kelola, seperti jaringan AWS, biasanya lebih sulit dibandingkan bahasanya sendiri.

Teruslah belajar

Bekerja dengan Stack Quora

Butuh bantuan dengan pengujian, WordPress atau SEO?

Kami membantu tim mengirimkan perangkat lunak yang lebih baik dan mengembangkan situs mereka. Beritahu kami apa yang sedang Anda kerjakan dan kami akan menyarankan langkah selanjutnya yang jelas.

Teruslah membaca

Panduan lebih lanjut tentang pengujian, AI & pengembangan modern

Menikmati artikel ini? Pilih topik dan langsung masuk ke tutorial terbaru kami.

Kecerdasan buatan

Penjelasan Halusinasi AI: Mengapa Model Bahasa Memperbaiki Masalah dan Cara Menguranginya

Halusinasi AI menjelaskan: apa itu, mengapa model bahasa memproduksinya, tipe umum, cara menguranginya dengan landasan dan petunjuk, dan pemeriksaan…

Baca artikel →
DevOps

Penjelasan Variabel Lingkungan: File .env, Rahasia, dan Konfigurasi Dilakukan dengan Benar

Variabel lingkungan dijelaskan dengan contoh Python yang kami jalankan: membaca dan mengaturnya, mengapa setiap nilai berupa string, file .env, pewa…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Pembatasan Kecepatan API: Algoritma, Header, dan Penanganan 429 Kesalahan

Pembatasan laju API dijelaskan dengan simulasi yang kami jalankan: keranjang token, jendela tetap, jendela geser, respons 429, header batas laju, pe…

Baca artikel →
Otomatisasi pengujian

Mengejek dengan Python: unittest.mock, patch dan Kesalahan yang Membuat Tes Berbohong

Mengejek dengan Python dengan unittest.mock, menguji: Mock dan return_value, side_effect, menambal di mana nama digunakan, spesifikasi dan autospec,…

Baca artikel →
Pengujian perangkat lunak

Penjelasan Cakupan Kode: Cakupan Jalur vs Cabang dan Apa Arti 100% Sebenarnya

Cakupan kode dijelaskan dengan coverage.py yang sebenarnya dijalankan: cakupan garis, cabang dan kondisi, membaca laporan, mengapa cakupan 100% masi…

Baca artikel →
Basis data & SQL

DELETE vs TRUNCATE vs DROP dalam SQL: Perbedaan, Rollback dan Kapan Menggunakan Masing-Masing

DELETE vs TRUNCATE vs DROP dijelaskan dengan SQL yang diuji: apa yang dihapus, rollback, pemicu, reset identitas, kecepatan, dan perbedaan PostgreSQ…

Baca artikel →
Basis data & SQL

Penjelasan Tampilan SQL: Membuat, Menggunakan, dan Menghindari Kesalahan, Dengan Contoh

Tampilan SQL dijelaskan dengan kueri yang kami jalankan: membuat tampilan, hasil langsung, menyembunyikan kolom, kinerja, tampilan yang dapat diperb…

Baca artikel →
Pengembangan perangkat lunak

Antarmuka TypeScript vs Tipe: Perbedaan Nyata, Diuji Dengan Kompiler

Antarmuka TypeScript vs tipe, diperiksa dengan kompiler sebenarnya: apa yang bisa dilakukan keduanya, apa yang hanya bisa dilakukan satu orang, peng…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Python *args dan **kwargs: Fungsi Fleksibel Dengan Contoh Jelas

Python *args dan **kwargs dijelaskan dengan kode yang kami jalankan: pengepakan dan pembongkaran, urutan parameter, argumen hanya kata kunci dan pos…

Baca artikel →
Pengembangan perangkat lunak

Fungsi Python Lambda: Sintaks, Kegunaan Sebenarnya, dan Kapan Tidak Digunakan

Fungsi python lambda dijelaskan dengan kode yang kami jalankan: sintaksis, pengurutan dengan kunci, peta dan filter, penutupan, jebakan pengikatan a…

Baca artikel →
Kecerdasan buatan

Apa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan

Apa itu agen AI? Panduan sederhana tentang loop agen, alat, memori, dan pagar pembatas, dengan loop Python kecil yang kami jalankan, risiko nyata da…

Baca artikel →
DevOps

Pemantauan vs Observabilitas: Perbedaan Nyata, Dengan Log, Metrik, dan Jejak

Penjelasan pemantauan vs observabilitas: kegagalan yang diketahui dan tidak diketahui, log, metrik dan jejak, penelusuran insiden checkout, sinyal e…

Baca artikel →
DevOps

Volume Docker vs Bind Mounts: Pertahankan Data Kontainer dengan Cara yang Benar

Volume Docker vs pengikatan pengikat dijelaskan: mengapa data kontainer menghilang, volume yang diberi nama, pengikatan pengikatan, tmpfs, contoh Tu…

Baca artikel →
Otomatisasi pengujian

TDD vs BDD: Perbedaan Utama, Satu Fitur Dibangun dengan Dua Cara dan Kapan Menggunakan Masing-masing

TDD vs BDD dijelaskan dengan satu fitur diskon yang dibuat dengan dua cara: refactor merah-hijau dengan kode yang kami jalankan, skenario Mengingat-…

Baca artikel →
Pengujian perangkat lunak

User Acceptance Testing (UAT): Proses, Checklist dan Contoh Nyata

Pengujian penerimaan pengguna menjelaskan: siapa yang menjalankannya, perbedaannya dengan QA, proses tujuh langkah, templat kasus uji UAT, daftar pe…

Baca artikel →
Basis data & SQL

Penjelasan Nilai NULL SQL: IS NULL, COALESCE, NULLIF dan Jebakan yang Harus Dihindari

Nilai SQL NULL dijelaskan dengan kueri yang kami jalankan: logika tiga nilai, IS NULL, COALESCE, NULLIF, cara agregat, penggabungan, dan pengurutan …

Baca artikel →
Basis data & SQL

Pernyataan SQL CASE WHEN: Sintaks, Contoh Nyata dan Kesalahan Umum

SQL CASE KETIKA dijelaskan dengan kueri yang kami jalankan: formulir sederhana dan dicari, urutan kondisi, pivot dengan SUM, trik COUNT, pengurutan …

Baca artikel →
Pengembangan perangkat lunak

Apa itu JWT? Token Web JSON Dijelaskan Dengan Contoh Kerja

Apa itu JWT? JSON Web Tokens menjelaskan: tiga bagian, token yang dibuat dan dirusak dalam kode yang kami jalankan, sesi JWT vs, penyimpanan, token …

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Loop Acara JavaScript: Call Stack, Microtasks, dan Timer Dengan Contoh

Perulangan peristiwa JavaScript dijelaskan dengan kode yang kami jalankan: tumpukan panggilan, antrian tugas dan tugas mikro, mengapa setTimeout 0 t…

Baca artikel →
Pengembangan perangkat lunak

Generator Python dan Penjelasan Hasil: Menghemat Memori Dengan Contoh Nyata

Generator dan hasil Python dijelaskan dengan kode yang kami jalankan: bagaimana mereka menjeda dan melanjutkan, mengukur penghematan memori, saluran…

Baca artikel →
Kecerdasan buatan

Apa itu Embedding? Kesamaan Vektor dan Kosinus Dijelaskan Secara Sederhana

Apa itu embeddings? Panduan bahasa sederhana tentang vektor, kesamaan kosinus, dan penelusuran semantik, dengan contoh kecil yang kami jalankan, pen…

Baca artikel →
DevOps

Penerapan Biru-Hijau vs Canary: Perbedaan, Kompromi, dan Cara Memilih

Penjelasan penerapan blue-green vs canary: cara kerja masing-masing, biaya, risiko dan rollback, pengelompokan pengguna stabil yang kami uji, migras…

Baca artikel →
Otomatisasi pengujian

Tes Tidak Stabil: Apa Penyebabnya dan Cara Memperbaikinya untuk Kebaikan

Pengujian yang tidak stabil dijelaskan dengan demo yang kami jalankan: penyebab utama, cara mengonfirmasi dan mendiagnosisnya, perbaikan waktu yang …

Baca artikel →
Pengujian perangkat lunak

Load Testing vs Stress Testing: Perbedaan, Metrik dan Contoh k6

Penjelasan pengujian beban vs pengujian stres: apa yang dibuktikan masing-masing, pengujian lonjakan dan rendam, metrik yang penting, mengapa rata-r…

Baca artikel →
Pengujian perangkat lunak

Kasus Uji vs Skenario Uji: Perbedaan Utama, Contoh, dan Kapan Menggunakan Masing-masing

Penjelasan kasus uji vs skenario pengujian: definisi yang jelas, tabel berdampingan, satu fitur pengaturan ulang kata sandi yang diambil dari skenar…

Baca artikel →
Basis data & SQL

Optimasi Kueri SQL: Baca Rencana Eksekusi dan Perbaiki Kueri Lambat, Dengan Pengaturan Waktu

Pengoptimalan kueri SQL diuji pada sejuta baris: membaca rencana eksekusi, menambahkan indeks yang tepat, memperbaiki filter yang tidak dapat disarg…

Baca artikel →
Basis data & SQL

SQL UNION vs UNION ALL: Perbedaan, Contoh dan Kinerja Diuji

SQL UNION vs UNION ALL dijelaskan dengan kueri yang kami jalankan: duplikat, aturan yang diikuti keduanya, bug data nyata, kinerja terukur, INTERSEC…

Baca artikel →
Pengembangan perangkat lunak

Tutorial API Pengambilan JavaScript: GET, POST, Penanganan Kesalahan, dan Batas Waktu

Tutorial JavaScript Fetch API diuji pada server lokal: GET dan POST, mengapa 404 tidak muncul, bantuan yang dapat digunakan kembali, string kueri, b…

Baca artikel →
Pengembangan perangkat lunak

Penanganan File Python: Baca, Tulis, CSV, JSON dan pathlib Dengan Contoh

Penanganan file Python dijelaskan dengan kode yang kami jalankan: mode terbuka, dengan, membaca file besar, CSV, JSON, pathlib, file biner, penulisa…

Baca artikel →
Pengembangan perangkat lunak

Kelas dan Objek Python: Tutorial OOP Dengan Contoh Nyata

Kelas dan objek Python dijelaskan dengan kode yang kami jalankan: __init__, metode, atribut kelas vs instance, warisan, properti, metode dunder, kel…

Baca artikel →
Kecerdasan buatan

Apa Itu Model Bahasa Besar? Bagaimana LLM Bekerja, Dijelaskan Tanpa Hype

Apa yang dimaksud dengan model bahasa besar? LLM dijelaskan dalam bahasa sederhana: token, penyematan, perhatian, pelatihan, jendela suhu dan kontek…

Baca artikel →
DevOps

Perintah Linux untuk Pemula: Panduan Terminal Penting Dengan Contoh

Perintah Linux untuk pemula, dikelompokkan berdasarkan tugas: navigasi, file, melihat log, grep, pipa, izin, proses dan arsip, dengan contoh analisi…

Baca artikel →
Otomatisasi pengujian

Selenium vs Penulis Drama: Perbedaan Utama, Perbandingan Kode, dan Mana yang Harus Dipilih

Selenium vs Playwright dibandingkan: arsitektur, menunggu, dukungan browser dan bahasa, debugging, pengujian yang sama di kedua alat, saran migrasi …

Baca artikel →
Pengujian perangkat lunak

Partisi Ekivalensi: Teknik Desain Tes Dijelaskan Dengan Contoh yang Dikerjakan

Penjelasan partisi ekivalensi: cara menemukan partisi yang valid dan tidak valid, contoh yang berfungsi untuk usia, kata sandi dan kupon, pengujian …

Baca artikel →
Pengujian perangkat lunak

Severity vs Priority dalam Pengujian Perangkat Lunak: Perbedaan, Matriks dan Contoh Nyata

Keparahan vs prioritas dalam pengujian perangkat lunak dijelaskan: definisi yang jelas, matriks empat arah dengan contoh, skala level, siapa yang me…

Baca artikel →
Basis data & SQL

Tutorial Subkueri SQL: Jenis, Subkueri yang Berkorelasi, dan ADA Dengan Contoh

Tutorial subkueri SQL dengan kueri yang kami jalankan: subkueri skalar, IN, FROM dan SELECT, subkueri yang berkorelasi, EXISTS, jebakan NOT IN NULL …

Baca artikel →
Basis data & SQL

Penjelasan Transaksi SQL dan ACID: COMMIT, ROLLBACK dan Tingkat Isolasi

Transaksi SQL dan ACID dijelaskan dengan transfer bank yang kami jalankan: COMMIT, ROLLBACK, savepoint, kunci, tingkat isolasi, pembacaan kotor, keb…

Baca artikel →
Pengembangan perangkat lunak

Lembar Cheat Perintah Git: Perintah yang Sebenarnya Anda Gunakan, Beserta Contohnya

Lembar contekan perintah Git yang dikelompokkan berdasarkan tugas: pengaturan, pementasan, cabang, remote, simpanan, riwayat, dan pembatalan kesalah…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Janji JavaScript: lalu, tangkap, Janji.semua, dan Kesalahan Umum

Janji JavaScript dijelaskan dengan kode yang kami jalankan: status, rantai lalu dan tangkap, penanganan kesalahan, Promise.all, allSettled, race dan…

Baca artikel →
Pengembangan perangkat lunak

Tutorial Kamus Python: Metode, Contoh dan Pola Umum

Tutorial kamus Python dengan kode yang kami jalankan: membuat, membaca dan memperbarui dicts, metode utama, penggabungan, pemahaman, pola penghitung…

Baca artikel →
Kecerdasan buatan

Apa itu RAG? Generasi Retrieval-Augmented Dijelaskan Dengan Contoh Kerja

Apa itu RAG? Generasi yang ditambah pengambilan dijelaskan langkah demi langkah: pengindeksan, pemotongan, penyematan, pengambilan, contoh kecil Pyt…

Baca artikel →
DevOps

Tutorial Terraform untuk Pemula: Infrastruktur sebagai Kode Dari File Pertama hingga Modul

Tutorial Terraform untuk pemula: mulai tanpa akun cloud, pelajari init, rencanakan dan terapkan, lalu variabel, keluaran, status, modul, dan alur ke…

Baca artikel →
DevOps

Docker vs Kubernetes: Perbedaan Utama, Cara Kerja Sama, dan Yang Anda Butuhkan

Docker vs Kubernetes menjelaskan: apa yang dilakukan masing-masing, aplikasi yang sama dijalankan dengan keduanya, Docker Compose dan Swarm dibandin…

Baca artikel →
Otomatisasi pengujian

Tutorial Pytest untuk Pemula: Fixture, Parametrize dan Contoh Nyata

Tutorial pytest untuk pemula dengan pengujian yang kami jalankan di pytest 9.2: pernyataan, perlengkapan, parametrize, conftest, marker, tmp_path, m…

Baca artikel →
Pengujian perangkat lunak

Siklus Hidup Pengujian Perangkat Lunak (STLC): 6 Fase, Kriteria Masuk dan Keluar, Contoh

Siklus hidup pengujian perangkat lunak menjelaskan: enam fase STLC dengan kriteria masuk dan keluar, hasil, contoh fitur login yang berfungsi, STLC …

Baca artikel →
Pengembangan perangkat lunak

Git merge vs rebase: perbedaan, contoh, dan kapan memakai masing-masing

Git merge vs rebase dijelaskan dengan keluaran log nyata, tabel perbandingan, aturan emas rebase, dan alur kerja tim yang aman.

Baca artikel →
Pengembangan perangkat lunak

List Comprehension Python: Sintaks, Contoh, dan Kapan Harus Dihindari

List comprehension Python dijelaskan: sintaks, filter, if-else, perulangan bersarang, waktu yang diukur, dan kapan perulangan for biasa lebih baik.

Baca artikel →
Basis data & SQL

Penjelasan SQL JOIN dengan Contoh (Inner, Left, Right, Full)

Pahami SQL JOIN langkah demi langkah dengan tabel dan query contoh: INNER, LEFT, RIGHT, FULL, CROSS, dan SELF, plus kesalahan umum dan tips performa.

Baca artikel →