<commit_before>---
description: Pencatatan Changelog
title: Pencatatan Changelog
language: id-ID
version: 1.0.0
---

- changelog = "https://github.com/olivierlacan/keep-a-changelog/blob/main/CHANGELOG.md"
- gh = "https://github.com/olivierlacan/keep-a-changelog"
- issues = "https://github.com/olivierlacan/keep-a-changelog/issues"
- semver = "https://semver.org/"
- shields = "https://shields.io/"
- thechangelog = "https://changelog.com/podcast/127"
- vandamme = "https://github.com/tech-angels/vandamme/"
- iso = "http://www.iso.org/iso/home/standards/iso8601.htm"
- ghr = "https://help.github.com/articles/creating-releases/"
- aditya = "https://github.com/adityapurwa/"
- edicyber = "https://github.com/cyberid41"

.header
  .title
    %h1 Pencatatan Changelog
    %h2 Standarisasi pencatatan Changelog untuk kolaborasi yang lebih baik

  = link_to changelog do
    Versi
    %strong= current_page.metadata[:page][:version]

  %pre.changelog= File.read("CHANGELOG.md")

.answers
  %h3#what
    %a.anchor{ href: "#what", aria_hidden: "true" }
    Apa itu changelog?

  %p
    Changelog adalah sebuah file yang berisi daftar perubahan yang
    diurutkan secara kronologis untuk setiap versi dari sebuah proyek.

  %h3#why
    %a.anchor{ href: "#why", aria_hidden: "true" }
    Kenapa perlu untuk mencatat changelog?

  %p
    Untuk mempermudah pengguna dan kontributor melihat perubahan
    apa saja yang terjadi antara setiap rilis (atau versi) dari sebuah proyek.

  %h3#who
    %a.anchor{ href: "#who", aria_hidden: "true" }
    Siapa yang membutuhkan changelog?

  %p
    Semua orang membutuhkannya. Baik pengguna ataupun pengembang, setiap
    orang yang menggunakan perangkat lunak adalah manusia yang peduli tentang
    apa yang ada di dalam perangkat lunak tersebut. Ketika perangkat lunak berubah,
    mereka ingin tahu apa yang berubah dan mengapa.

.good-practices
  %h3#how
    %a.anchor{ href: "#how", aria_hidden: "true" }
    Bagaimana cara membuat changelog yang baik?

  %h4#principles
    %a.anchor{ href: "#principles", aria_hidden: "true" }
    Prinsip-prinsip Dasar

  %ul
    %li
      Changelog ditulis untuk <em>manusia</em>, bukan mesin.
    %li
      Harus ada catatan untuk setiap versi.
    %li
      Setiap tipe perubahan yang sama harus dikelompokkan.
    %li
      Versi dan seksi harus dapat dirujuk.
    %li
      Versi yang terakhir harus ditulis di paling atas.
    %li
      Tanggal rilis setiap versi harus ditulis.
    %li
      Berikan informasi jika kalian menggunakan #{link_to "Semantic Versioning", semver}.

  %a.anchor{ href: "#types", aria_hidden: "true" }
  %h4#types Jenis-jenis perubahan

  %ul
    %li
      %code Added/Ditambahkan
      untuk fitur yang baru.
    %li
      %code Changed/Diubah
      untuk perubahan di fitur yang sudah ada.
    %li
      %code Deprecated/Akan Dhilangkan
      untuk fitur yang akan dihapus dalam waktu dekat.
    %li
      %code Removed/Dihilangkan
      untuk fitur yang sudah dihapus.
    %li
      %code Fixed/Diperbaiki
      untuk setiap perbaikan bugs.
    %li
      %code Security/Keamanan
      jika ada celah keamanan.

.effort

  %h3#effort
    %a.anchor{ href: "#effort", aria_hidden: "true" }
    Apa yang bisa saya lakukan untuk mempermudah pemeliharaan changelog?

  %p
    Sisakan bagian <code>Unreleased/Belum Dirilis</code> di bagian paling atas
    file changelog untuk mencatat perubahan yang akan datang.


  %p Hal ini berguna untuk dua hal:

  %ul
    %li
      Orang-orang bisa melihat perubahan apa saja yang akan datang.
    %li
      Saat waktu rilis datang, tinggal pindahkan bagian <code>Unreleased/Belum Dirilis</code>
      ke catatan rilis versi baru di bawah.

.bad-practices
  %h3#bad-practices
    %a.anchor{ href: "#bad-practices", aria_hidden: "true" }
    Apakah changelog bisa menjadi tidak bermanfaat?

  %p Bisa, berikut beberapa skenario ketika changelog menjadi tidak bermanfaat:

  %h4#log-diffs
    %a.anchor{ href: "#log-diffs", aria_hidden: "true" }
    Menggunakan Commit log diffs sebagai changelog

  %p
    Menggunakan commit log diffs (catatan perbedaan setiap commit) bisa
    membuat changelog susah untuk dibaca. Commit dengan judul yang tidak jelas,
    dokumentasi perubahan, dan sebagainya, malah akan membuat
    changelog terlalu berisik dan susah dibaca.

  %p
    <em>The purpose of a commit is to document a step in the evolution of
    the source code. Some projects clean up commits, some don't</em>.
    Tujuan utama dari commit adalah untuk mencatat setiap perubahan dari source
    code. Beberapa proyek merapikan commitnya, beberapa tidak.

  %p
    Tujuan dari changelog adalah untuk mencatat perubahan yang pantas
    untuk dicatat, bisa jadi beberapa commit dijadikan satu catatan
    untuk lebih memudahkan pembaca.<commit_msg>Fix typo in id-ID translation (#416)<commit_after>---
description: Pencatatan Changelog
title: Pencatatan Changelog
language: id-ID
version: 1.0.0
---

- changelog = "https://github.com/olivierlacan/keep-a-changelog/blob/main/CHANGELOG.md"
- gh = "https://github.com/olivierlacan/keep-a-changelog"
- issues = "https://github.com/olivierlacan/keep-a-changelog/issues"
- semver = "https://semver.org/"
- shields = "https://shields.io/"
- thechangelog = "https://changelog.com/podcast/127"
- vandamme = "https://github.com/tech-angels/vandamme/"
- iso = "http://www.iso.org/iso/home/standards/iso8601.htm"
- ghr = "https://help.github.com/articles/creating-releases/"
- aditya = "https://github.com/adityapurwa/"
- edicyber = "https://github.com/cyberid41"

.header
  .title
    %h1 Pencatatan Changelog
    %h2 Standarisasi pencatatan Changelog untuk kolaborasi yang lebih baik

  = link_to changelog do
    Versi
    %strong= current_page.metadata[:page][:version]

  %pre.changelog= File.read("CHANGELOG.md")

.answers
  %h3#what
    %a.anchor{ href: "#what", aria_hidden: "true" }
    Apa itu changelog?

  %p
    Changelog adalah sebuah file yang berisi daftar perubahan yang
    diurutkan secara kronologis untuk setiap versi dari sebuah proyek.

  %h3#why
    %a.anchor{ href: "#why", aria_hidden: "true" }
    Kenapa perlu untuk mencatat changelog?

  %p
    Untuk mempermudah pengguna dan kontributor melihat perubahan
    apa saja yang terjadi antara setiap rilis (atau versi) dari sebuah proyek.

  %h3#who
    %a.anchor{ href: "#who", aria_hidden: "true" }
    Siapa yang membutuhkan changelog?

  %p
    Semua orang membutuhkannya. Baik pengguna ataupun pengembang, setiap
    orang yang menggunakan perangkat lunak adalah manusia yang peduli tentang
    apa yang ada di dalam perangkat lunak tersebut. Ketika perangkat lunak berubah,
    mereka ingin tahu apa yang berubah dan mengapa.

.good-practices
  %h3#how
    %a.anchor{ href: "#how", aria_hidden: "true" }
    Bagaimana cara membuat changelog yang baik?

  %h4#principles
    %a.anchor{ href: "#principles", aria_hidden: "true" }
    Prinsip-prinsip Dasar

  %ul
    %li
      Changelog ditulis untuk <em>manusia</em>, bukan mesin.
    %li
      Harus ada catatan untuk setiap versi.
    %li
      Setiap tipe perubahan yang sama harus dikelompokkan.
    %li
      Versi dan seksi harus dapat dirujuk.
    %li
      Versi yang terakhir harus ditulis di paling atas.
    %li
      Tanggal rilis setiap versi harus ditulis.
    %li
      Berikan informasi jika kalian menggunakan #{link_to "Semantic Versioning", semver}.

  %a.anchor{ href: "#types", aria_hidden: "true" }
  %h4#types Jenis-jenis perubahan

  %ul
    %li
      %code Added/Ditambahkan
      untuk fitur yang baru.
    %li
      %code Changed/Diubah
      untuk perubahan di fitur yang sudah ada.
    %li
      %code Deprecated/Akan Dihilangkan
      untuk fitur yang akan dihapus dalam waktu dekat.
    %li
      %code Removed/Dihilangkan
      untuk fitur yang sudah dihapus.
    %li
      %code Fixed/Diperbaiki
      untuk setiap perbaikan bugs.
    %li
      %code Security/Keamanan
      jika ada celah keamanan.

.effort

  %h3#effort
    %a.anchor{ href: "#effort", aria_hidden: "true" }
    Apa yang bisa saya lakukan untuk mempermudah pemeliharaan changelog?

  %p
    Sisakan bagian <code>Unreleased/Belum Dirilis</code> di bagian paling atas
    file changelog untuk mencatat perubahan yang akan datang.


  %p Hal ini berguna untuk dua hal:

  %ul
    %li
      Orang-orang bisa melihat perubahan apa saja yang akan datang.
    %li
      Saat waktu rilis datang, tinggal pindahkan bagian <code>Unreleased/Belum Dirilis</code>
      ke catatan rilis versi baru di bawah.

.bad-practices
  %h3#bad-practices
    %a.anchor{ href: "#bad-practices", aria_hidden: "true" }
    Apakah changelog bisa menjadi tidak bermanfaat?

  %p Bisa, berikut beberapa skenario ketika changelog menjadi tidak bermanfaat:

  %h4#log-diffs
    %a.anchor{ href: "#log-diffs", aria_hidden: "true" }
    Menggunakan Commit log diffs sebagai changelog

  %p
    Menggunakan commit log diffs (catatan perbedaan setiap commit) bisa
    membuat changelog susah untuk dibaca. Commit dengan judul yang tidak jelas,
    dokumentasi perubahan, dan sebagainya, malah akan membuat
    changelog terlalu berisik dan susah dibaca.

  %p
    Tujuan utama dari commit adalah untuk mencatat setiap perubahan dari source
    code. Beberapa proyek merapikan commitnya, beberapa tidak.

  %p
    Tujuan dari changelog adalah untuk mencatat perubahan yang pantas
    untuk dicatat, bisa jadi beberapa commit dijadikan satu catatan
    untuk lebih memudahkan pembaca.
{'fraction_non_alphanumeric': 0.0891497461928934, 'fraction_numerical': 0.005181895093062606, 'mean_word_length': 3.2408071748878924, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 20, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5089290', 'n_tokens_mistral': 3772, 'n_tokens_neox': 3600, 'n_words': 988}