[{"data":1,"prerenderedAt":236},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-tentang-struktur-data-linked-list-en":72},{},{"featuredPost":5,"navigations":29},{"id":6,"title":7,"title_id":8,"slug":9,"excerpt":10,"excerpt_id":11,"has_translation":12,"published_at":13,"reading_time":14,"hidden_from_listing":15,"tags":16,"thumbnail_image":21,"og_image":22,"series":23,"authors":28},110,"When You Pick a Framework Just to Look Different","Ketika Pilih Framework Cuma Biar Kelihatan Beda","ketika-pilih-framework-cuma-biar-kelihatan-beda","The last time you chose a new framework or library, was it because your problem needed that tool, or because it sounded cool and few people around you were using it? That question is uncomfortable. Technology decisions are often made for reasons that never appear in any technical document.","Terakhir kali kamu milih framework atau library baru, itu karena masalahmu butuh alat itu, atau karena alatnya kedengaran keren dan belum banyak yang pakai? Pertanyaan ini nggak enak dijawab. Soalnya keputusan teknologi sering diambil dengan alasan yang nggak pernah ditulis di dokumen teknis mana pun.",true,"2026-10-06T15:25:21.000Z",5,false,[17,18,19,20],"karier","framework","opini","pengalaman",null,"\u002Fog\u002Fketika-pilih-framework-cuma-biar-kelihatan-beda.png",{"id":24,"title":25,"title_id":26,"slug":27},9,"Articles","Artikel","all",[],[30,46,67],{"collection":31,"item":32},"series",{"__typename":31,"title":25,"title_id":26,"slug":27,"children_series":33},[34,38,42],{"title":35,"title_id":36,"slug":37},"Artificial Intelligence","Kecerdasan Artifisial","kecerdasan-artifisial",{"title":39,"title_id":40,"slug":41},"Programming Fundamentals","Konsep Dasar Pemrograman","konsep-dasar-pemrograman",{"title":43,"title_id":44,"slug":45},"Algorithms and Data Structures","Algoritma dan Struktur Data","algoritma-struktur-data",{"collection":31,"item":47},{"__typename":31,"title":48,"title_id":48,"slug":49,"children_series":50},"Tutorial","tutorial",[51,55,59,63],{"title":52,"title_id":53,"slug":54},"Learning Python","Belajar Python","belajar-python",{"title":56,"title_id":57,"slug":58},"Learning Go","Belajar Golang","belajar-golang",{"title":60,"title_id":61,"slug":62},"Learning Java","Belajar Java","belajar-java",{"title":64,"title_id":65,"slug":66},"Learning Pascal","Belajar Pascal","belajar-pascal",{"collection":31,"item":68},{"__typename":31,"title":69,"title_id":69,"slug":70,"children_series":71},"Lab","lab",[],{"article":73,"renderedBody":124,"renderedTakeaway":125,"latestArticles":126,"toc":222},{"id":74,"title":75,"title_id":76,"slug":77,"excerpt":78,"excerpt_id":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":87,"series":88,"authors":116,"seoTitle":21,"seoDescription":21,"body_locale":119,"available_locales":120,"body":122,"takeway":123,"prerequisite":21},48,"What a Linked List Actually Is","Tentang Struktur Data LinkedList","tentang-struktur-data-linked-list","A linked list is a linear chain of nodes, each holding data and a pointer to the next node. Here is what that chain costs next to an array, plus a minimal implementation you can run.","Linked list adalah rantai linear berisi node, dan setiap node menyimpan data plus pointer ke node berikutnya. Ini ongkosnya dibanding array, plus implementasi paling sederhananya.","2026-11-21T01:00:00.000Z",3,[83,84,85,86],"struktur-data","linked-list","pointer","konsep","\u002Fog\u002Ftentang-struktur-data-linked-list.png",{"id":89,"title":90,"title_id":91,"slug":92,"description":93,"description_id":94,"articles":95,"children_series":105,"parent_series":106},28,"Linear Data Structures","Struktur Data Linear","asd-struktur-linear","Linear structures like linked lists, from building one to the operations you'll actually use.","Struktur data linear seperti linked list, dibahas dari cara membentuknya sampai operasi dasarnya.",[96],{"id":74,"title":75,"title_id":76,"slug":77,"excerpt":78,"excerpt_id":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":87,"series":97,"authors":98},{"id":89,"title":90,"title_id":91,"slug":92},[99],{"authors_id":100},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",[],{"id":107,"title":43,"title_id":44,"slug":45,"parent_series":108,"children_series":109},15,{"id":24,"title":25,"title_id":26,"slug":27},[110,115],{"id":111,"title":112,"title_id":113,"slug":114,"cover_image":21},27,"About Algorithms and Data Structures","Tentang Algoritma dan Struktur Data","asd-intro",{"id":89,"title":90,"title_id":91,"slug":92,"cover_image":21},[117],{"authors_id":118},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},"en",[119,121],"id","\nA *linked list* stores a collection as a chain of small objects instead of one block of memory. This article covers what that chain is, how it compares with an array, and a minimal implementation you can run.\n\n## What a Linked List Is\n\nA **linked list** is a linear chain of **nodes**. Each node holds two things: its **data** and a **pointer** to the next node.\n\nThe structure is called linear because each node refers to exactly one other node. If you draw it, it looks like a snake: one body segment follows another, with no branches.\n\nTo read anything in the list, you need a starting point. That point is the *head* node. Nothing points to it, and it points to the next node.\n\nThe opposite end is the *tail*. Other nodes point to it, but it points to nothing.\n\nThere are three common kinds: singly, doubly, and circular linked lists. We'll cover them in later articles.\n\n## Why Not Just Use an Array?\n\nArrays and linked lists do the same job, which is storing a collection of values. They differ in how they lay that collection out in memory.\n\nAn array is **contiguous**. The elements sit next to each other, so you can reach any element by its index in O(1). The catch is that an array's length is fixed when you declare it.\n\nA linked list is **scattered**. Its nodes can live anywhere in memory, and the pointers chain them together. That lets the list grow node by node. The catch is that reaching position k means walking k nodes from the head, which is O(k).\n\nA linked list also costs more memory per element. Every node stores a pointer in addition to its data.\n\n| Aspect | Linked list | Array |\n|---|---|---|\n| Size | Can grow node by node | Fixed at declaration |\n| Access time | O(k), walk k nodes to reach position k | O(1) by index |\n| Layout in memory | Scattered, chained by pointers | Contiguous, ordered by index |\n\nNeither one wins in general. The right choice depends on what your program does most.\n\n## Nodes and a Minimal Implementation\n\nThe node is the main building block, so it gets its own class. It has a field for `data` and a field for `next`, the pointer to the following node. In Java, that pointer is an ordinary object reference.\n\nFor a simple list, you also keep a reference to `head`. It is your entry point to every other node. Keeping a reference to `tail` is optional, though it is often stored to make adding data at the end easier.\n\nThis program builds the list 1, 2, 3, 4. It then prints the values by starting at `head` and following `next` until it reaches null:\n\n```java\npublic class SimpleLinkedList {\n  static class Node {\n    int data;\n    Node next;\n\n    Node(int data) {\n      this.data = data;\n    }\n  }\n\n  public static void main(String[] args) {\n    Node head = new Node(1);\n    head.next = new Node(2);\n    head.next.next = new Node(3);\n    head.next.next.next = new Node(4);\n\n    for (Node current = head; current != null; current = current.next) {\n      System.out.println(current.data);\n    }\n  }\n}\n```\n\nI compiled and ran this with javac 21. The output:\n\n```plain\n1\n2\n3\n4\n```\n\nThe loop never uses an index. It only follows pointers, which is the O(k) walk from the previous section.\n\n## What Comes Next\n\nIn the next article, we'll build a singly linked list properly. You'll create the node, a wrapper class around it, and the methods that work on the list.\n\nHappy coding 👋\n","- A linked list is a linear chain of nodes, and each node holds data plus a pointer to the next node.\n- Reading position k costs O(k) because you walk from the head, while an array reaches any index in O(1).\n- Growth is the trade: a linked list can add nodes one at a time, while an array's length is fixed when you declare it.\n- Every node carries an extra pointer, so the memory per element is higher than in an array.","\u003Cp>A \u003Cem>linked list\u003C\u002Fem> stores a collection as a chain of small objects instead of one block of memory. This article covers what that chain is, how it compares with an array, and a minimal implementation you can run.\u003C\u002Fp>\n\u003Ch2 id=\"what-a-linked-list-is\">What a Linked List Is\u003C\u002Fh2>\n\u003Cp>A \u003Cstrong>linked list\u003C\u002Fstrong> is a linear chain of \u003Cstrong>nodes\u003C\u002Fstrong>. Each node holds two things: its \u003Cstrong>data\u003C\u002Fstrong> and a \u003Cstrong>pointer\u003C\u002Fstrong> to the next node.\u003C\u002Fp>\n\u003Cp>The structure is called linear because each node refers to exactly one other node. If you draw it, it looks like a snake: one body segment follows another, with no branches.\u003C\u002Fp>\n\u003Cp>To read anything in the list, you need a starting point. That point is the \u003Cem>head\u003C\u002Fem> node. Nothing points to it, and it points to the next node.\u003C\u002Fp>\n\u003Cp>The opposite end is the \u003Cem>tail\u003C\u002Fem>. Other nodes point to it, but it points to nothing.\u003C\u002Fp>\n\u003Cp>There are three common kinds: singly, doubly, and circular linked lists. We&#39;ll cover them in later articles.\u003C\u002Fp>\n\u003Ch2 id=\"why-not-just-use-an-array\">Why Not Just Use an Array?\u003C\u002Fh2>\n\u003Cp>Arrays and linked lists do the same job, which is storing a collection of values. They differ in how they lay that collection out in memory.\u003C\u002Fp>\n\u003Cp>An array is \u003Cstrong>contiguous\u003C\u002Fstrong>. The elements sit next to each other, so you can reach any element by its index in O(1). The catch is that an array&#39;s length is fixed when you declare it.\u003C\u002Fp>\n\u003Cp>A linked list is \u003Cstrong>scattered\u003C\u002Fstrong>. Its nodes can live anywhere in memory, and the pointers chain them together. That lets the list grow node by node. The catch is that reaching position k means walking k nodes from the head, which is O(k).\u003C\u002Fp>\n\u003Cp>A linked list also costs more memory per element. Every node stores a pointer in addition to its data.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Aspect\u003C\u002Fth>\n\u003Cth>Linked list\u003C\u002Fth>\n\u003Cth>Array\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Size\u003C\u002Ftd>\n\u003Ctd>Can grow node by node\u003C\u002Ftd>\n\u003Ctd>Fixed at declaration\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Access time\u003C\u002Ftd>\n\u003Ctd>O(k), walk k nodes to reach position k\u003C\u002Ftd>\n\u003Ctd>O(1) by index\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Layout in memory\u003C\u002Ftd>\n\u003Ctd>Scattered, chained by pointers\u003C\u002Ftd>\n\u003Ctd>Contiguous, ordered by index\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Neither one wins in general. The right choice depends on what your program does most.\u003C\u002Fp>\n\u003Ch2 id=\"nodes-and-a-minimal-implementation\">Nodes and a Minimal Implementation\u003C\u002Fh2>\n\u003Cp>The node is the main building block, so it gets its own class. It has a field for \u003Ccode>data\u003C\u002Fcode> and a field for \u003Ccode>next\u003C\u002Fcode>, the pointer to the following node. In Java, that pointer is an ordinary object reference.\u003C\u002Fp>\n\u003Cp>For a simple list, you also keep a reference to \u003Ccode>head\u003C\u002Fcode>. It is your entry point to every other node. Keeping a reference to \u003Ccode>tail\u003C\u002Fcode> is optional, though it is often stored to make adding data at the end easier.\u003C\u002Fp>\n\u003Cp>This program builds the list 1, 2, 3, 4. It then prints the values by starting at \u003Ccode>head\u003C\u002Fcode> and following \u003Ccode>next\u003C\u002Fcode> until it reaches null:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"public%20class%20SimpleLinkedList%20%7B%0A%20%20static%20class%20Node%20%7B%0A%20%20%20%20int%20data%3B%0A%20%20%20%20Node%20next%3B%0A%0A%20%20%20%20Node(int%20data)%20%7B%0A%20%20%20%20%20%20this.data%20%3D%20data%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20Node%20head%20%3D%20new%20Node(1)%3B%0A%20%20%20%20head.next%20%3D%20new%20Node(2)%3B%0A%20%20%20%20head.next.next%20%3D%20new%20Node(3)%3B%0A%20%20%20%20head.next.next.next%20%3D%20new%20Node(4)%3B%0A%0A%20%20%20%20for%20(Node%20current%20%3D%20head%3B%20current%20!%3D%20null%3B%20current%20%3D%20current.next)%20%7B%0A%20%20%20%20%20%20System.out.println(current.data)%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>public class SimpleLinkedList {\n  static class Node {\n    int data;\n    Node next;\n\n    Node(int data) {\n      this.data = data;\n    }\n  }\n\n  public static void main(String[] args) {\n    Node head = new Node(1);\n    head.next = new Node(2);\n    head.next.next = new Node(3);\n    head.next.next.next = new Node(4);\n\n    for (Node current = head; current != null; current = current.next) {\n      System.out.println(current.data);\n    }\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>I compiled and ran this with javac 21. The output:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PLAIN\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"1%0A2%0A3%0A4\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>1\n2\n3\n4\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>The loop never uses an index. It only follows pointers, which is the O(k) walk from the previous section.\u003C\u002Fp>\n\u003Ch2 id=\"what-comes-next\">What Comes Next\u003C\u002Fh2>\n\u003Cp>In the next article, we&#39;ll build a singly linked list properly. You&#39;ll create the node, a wrapper class around it, and the methods that work on the list.\u003C\u002Fp>\n\u003Cp>Happy coding 👋\u003C\u002Fp>\n","\u003Cul>\n\u003Cli>A linked list is a linear chain of nodes, and each node holds data plus a pointer to the next node.\u003C\u002Fli>\n\u003Cli>Reading position k costs O(k) because you walk from the head, while an array reaches any index in O(1).\u003C\u002Fli>\n\u003Cli>Growth is the trade: a linked list can add nodes one at a time, while an array&#39;s length is fixed when you declare it.\u003C\u002Fli>\n\u003Cli>Every node carries an extra pointer, so the memory per element is higher than in an array.\u003C\u002Fli>\n\u003C\u002Ful>\n",[127,132,149,167,184,204],{"id":74,"title":75,"title_id":76,"slug":77,"excerpt":78,"excerpt_id":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":87,"series":128,"authors":129},{"id":89,"title":90,"title_id":91,"slug":92},[130],{"authors_id":131},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":133,"title":134,"title_id":135,"slug":136,"excerpt":137,"excerpt_id":138,"has_translation":12,"published_at":139,"reading_time":140,"hidden_from_listing":15,"tags":141,"thumbnail_image":21,"og_image":144,"series":145,"authors":146},47,"Why Understanding Algorithms and Data Structures Actually Matters","Pentingnya Memahami Algoritma dan Struktur Data","pentingnya-memahami-algoritma-dan-struktur-data","An algorithm is an ordered list of steps, and that order decides how expensive a problem is. The examples are on the back of an instant noodle packet, in a factorial, and behind ctrl+z.","Sebagai konsep fundamental, algoritma menentukan seberapa mahal sebuah masalah diselesaikan. Contohnya ada di bungkus mie instan, di bilangan faktorial, dan di tombol undo.","2026-11-19T01:00:00.000Z",7,[142,83,86,143],"algoritma","dasar","\u002Fog\u002Fpentingnya-memahami-algoritma-dan-struktur-data.png",{"id":111,"title":112,"title_id":113,"slug":114},[147],{"authors_id":148},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":150,"title":151,"title_id":152,"slug":153,"excerpt":154,"excerpt_id":155,"has_translation":12,"published_at":156,"reading_time":14,"hidden_from_listing":15,"tags":157,"thumbnail_image":21,"og_image":162,"series":163,"authors":164},108,"At 11 a.m. the AI Quota Runs Out, and the Work Stops There","Jam 11 siang kuota AI-nya habis, dan kerjaan berhenti di situ","jam-11-kuota-ai-habis-kerjaan-berhenti","The panel says the usage limit is reached and the work stops, not because it is finished. Three guesses explain it, and all three are wrong: the limit is shaped like a cliff, and the day is built on top of one tool.","Panel di layar bilang batas pemakaian tercapai, dan kerja berhenti di situ. Bukan karena selesai. Ada tiga tebakan kenapa ini terjadi, dan ketiganya salah: batasnya berbentuk tebing, dan harinya dibangun di atas satu alat.","2026-11-12T01:00:00.000Z",[158,159,160,161],"ai","tooling","rate-limit","produktivitas","\u002Fog\u002Fjam-11-kuota-ai-habis-kerjaan-berhenti.png",{"id":24,"title":25,"title_id":26,"slug":27},[165],{"authors_id":166},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":168,"title":169,"title_id":170,"slug":171,"excerpt":172,"excerpt_id":173,"has_translation":12,"published_at":174,"reading_time":14,"hidden_from_listing":15,"tags":175,"thumbnail_image":21,"og_image":178,"series":179,"authors":181},139,"Python Classes: the History Every Account Shared","Python Class: Riwayat yang Dipakai Bersama Semua Akun","python-class-object","Two accounts, and each history lists the other account's deposits. The list sat in the class body, `append` never writes to the object, so both accounts appended into the same one.","Dua akun, dan riwayat masing-masing memuat setoran akun lain. List-nya duduk di body class, `append` tidak pernah menulis ke objek, jadi kedua akun menambah ke list yang sama.","2026-11-07T01:00:00.000Z",[176,177],"python","oop","\u002Fog\u002Fpython-class-object.png",{"id":180,"title":52,"title_id":53,"slug":54},10,[182],{"authors_id":183},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":185,"title":186,"title_id":187,"slug":188,"excerpt":189,"excerpt_id":190,"has_translation":12,"published_at":191,"reading_time":14,"hidden_from_listing":15,"tags":192,"thumbnail_image":21,"og_image":195,"series":196,"authors":201},137,"Java Operators: the Average That Came Out a Whole Number","Operator Java: Rata-Rata yang Keluar Sebagai Bilangan Bulat","java-operators","Three scores, one division, and the average prints as 82. Both operands are `int`, so the fraction is cut off, and the obvious cast prints `82.0` without fixing anything.","Tiga nilai, satu pembagian, dan rata-ratanya tercetak 82. Kedua operand-nya `int`, jadi pecahannya dipotong, dan cast yang paling wajar malah mencetak `82.0` tanpa memperbaiki apa pun.","2026-11-06T01:00:00.000Z",[193,194],"java","operator","\u002Fog\u002Fjava-operators.png",{"id":197,"title":198,"title_id":199,"slug":200},22,"Variables, Types, and Operations","Variabel, Tipe Data, dan Operasi","java-variabel-tipe-data",[202],{"authors_id":203},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":205,"title":206,"title_id":207,"slug":208,"excerpt":209,"excerpt_id":210,"has_translation":12,"published_at":191,"reading_time":140,"hidden_from_listing":15,"tags":211,"thumbnail_image":21,"og_image":213,"series":214,"authors":219},136,"Python Modules: the Import That Printed the Report","Modul Python: Import yang Mencetak Laporannya","python-modules","You pull one function out into its own file, import it, and the whole report runs again and eats your input. A module is a file, `import` runs it top to bottom, and one line decides which of the two jobs it is doing.","Kamu memindahkan satu fungsi ke file sendiri, meng-import-nya, dan seluruh laporan jalan lagi lalu memakan inputmu. Modul adalah file, `import` menjalankannya dari atas ke bawah, dan satu baris menentukan pekerjaan mana yang sedang dijalankan file itu.",[176,212],"modules","\u002Fog\u002Fpython-modules.png",{"id":215,"title":216,"title_id":217,"slug":218},18,"Working with Python Scripts","Menggunakan Script Python","python-pemrograman-dengan-script",[220],{"authors_id":221},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},[223,227,230,233],{"text":224,"depth":225,"id":226},"What a Linked List Is",2,"what-a-linked-list-is",{"text":228,"depth":225,"id":229},"Why Not Just Use an Array?","why-not-just-use-an-array",{"text":231,"depth":225,"id":232},"Nodes and a Minimal Implementation","nodes-and-a-minimal-implementation",{"text":234,"depth":225,"id":235},"What Comes Next","what-comes-next",1794029326153]