{"id":74,"date":"2011-04-07T06:10:32","date_gmt":"2011-04-07T06:10:32","guid":{"rendered":"http:\/\/blog.elkom08.x10.bz\/?p=74"},"modified":"2014-11-24T10:54:44","modified_gmt":"2014-11-24T10:54:44","slug":"single-dan-double-orderedlinkedlist-di-java","status":"publish","type":"post","link":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/","title":{"rendered":"Single dan Double OrderedLinkedList di java"},"content":{"rendered":"<p>Iseng posting tentang linkedlist java, mumpung sedang belajar itu juga di Algoritma dan Struktur Data. Itung itung menuhin blog juga ^_^<br \/>\nlangsung aja, berikut listing programnya :<br \/>\nyg ini untuk file <strong>Node.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">public class Node {\r\n\r\n\tint data;\r\n\tNode next;\r\n\tNode prev;\r\n\tNode(int id){\r\n\t\tdata=id;\r\n\t}\r\n}<\/pre>\n<p>file <strong>AddtLinkedList.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">public class AddtLinkedList {\r\n\r\n\tstatic boolean kosongCek(Node head){\r\n\t\treturn (head==null);\r\n\t}\r\n\tstatic void tukar(Node nd1, Node nd2){\r\n\t\tNode tmp = new Node(nd1.data);\r\n\t\tnd1.data=nd2.data;\r\n\t\tnd2.data=tmp.data;\r\n\t}\r\n\tstatic void tampil(Node head){\r\n\t\tNode current=head;\r\n\t\twhile(current!=null){\r\n\t\t\tSystem.out.print(current.data+&quot; &quot;);\r\n\t\t\tcurrent=current.next;\r\n\t\t}\r\n\t\tSystem.out.println();\r\n\t}\r\n\tstatic void tampil(Node head, Node tail, String a){\r\n\t\tif (a==&quot;maju&quot;){\r\n\t\t\tNode current=head;\r\n\t\t\twhile(current!=null){\r\n\t\t\t\tSystem.out.print(current.data+&quot; &quot;);\r\n\t\t\t\tcurrent=current.next;\r\n\t\t\t}\r\n\t\t\tSystem.out.println();\r\n\t\t} else if (a==&quot;mundur&quot;){\r\n\t\t\tNode current=tail;\r\n\t\t\twhile(current!=null){\r\n\t\t\t\tSystem.out.print(current.data+&quot; &quot;);\r\n\t\t\t\tcurrent=current.prev;\r\n\t\t\t}\r\n\t\t\tSystem.out.println();\r\n\t\t}\r\n\r\n\t}\r\n}<\/pre>\n<p><!--more--><br \/>\nfile <strong>OrderedList.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">public class OrderedList {\r\n\tint jumlah;\r\n\tNode head, tail, current;\r\n\tOrderedList(){\r\n\t\thead=tail=current=null;\r\n\t\tjumlah=0;\r\n\t}\r\n\tvoid tambahAwal(int data){\r\n\t\tNode nd = new Node(data);\r\n\t\tif (AddtLinkedList.kosongCek(head)){\r\n\t\t\thead=tail=nd;\r\n\t\t} else {\r\n\t\t\tnd.next=head;\r\n\t\t\thead=nd;\r\n\t\t}\r\n\t\tjumlah++;\r\n\t}\r\n\tvoid tambahAkhir(int data){\r\n\t\tNode nd = new Node(data);\r\n\t\tif(AddtLinkedList.kosongCek(head)){\r\n\t\t\thead=tail=nd;\r\n\t\t} else {\r\n\t\t\ttail.next=nd;\r\n\t\t\ttail=nd;\r\n\t\t}\r\n\t\tjumlah++;\r\n\t}\r\n\tvoid tambahTengah(int data, int posisi){\r\n\t\tNode nd = new Node(data);\r\n\t\tif(AddtLinkedList.kosongCek(head)){\r\n\t\t\thead=tail=nd;\r\n\t\t} else if (posisi&amp;gt;jumlah){\r\n\t\t\tSystem.out.println(&quot;Posisi melebihi jumlah node, maka data di letakkan paling akhir!&quot;);\r\n\t\t\ttambahAkhir(data);\r\n\t\t} else {\r\n\t\t\tcurrent=head;\r\n\t\t\tint i=1;\r\n\t\t\twhile(i&amp;lt;(posisi-1)){\r\n\t\t\t\tcurrent=current.next;\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t\tnd.next=current.next;\r\n\t\t\tcurrent.next=nd;\r\n\t\t}\r\n\t\tjumlah++;\r\n\t}\r\n\tvoid hapusTengah(int posisi){\r\n\t\tif(AddtLinkedList.kosongCek(head)){\r\n\t\t\tSystem.out.println(&quot;List masih kosong!&quot;);\r\n\t\t} else if (posisi&amp;gt;jumlah){\r\n\t\t\tSystem.out.println(&quot;Di luar jangkauan!&quot;);\r\n\t\t} else {\r\n\t\t\tcurrent=head;\r\n\t\t\tint i=1;\r\n\t\t\twhile(i&amp;lt;(posisi-1)){\r\n\t\t\t\tcurrent=current.next;\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t\tcurrent.next=current.next.next;\r\n\t\t}\r\n\t\tjumlah--;\r\n\t}\r\n\tNode getHead(){\r\n\t\treturn head;\r\n\t}\r\n\tNode getTail(){\r\n\t\treturn tail;\r\n\t}\r\n\tint getJumlah(){\r\n\t\treturn jumlah;\r\n\t}\r\n}<\/pre>\n<p>file <strong>DoubleOrderedList.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">public class DoubleOrderedList {\r\n\tint jumlah;\r\n\tNode head, tail, current;\r\n\tDoubleOrderedList(){\r\n\t\thead=tail=current=null;\r\n\t\tjumlah=0;\r\n\t}\r\n\tvoid tambahAwal(int data){\r\n\t\tNode nd = new Node(data);\r\n\t\tif (AddtLinkedList.kosongCek(head)){\r\n\t\t\thead=tail=nd;\r\n\t\t} else {\r\n\t\t\tnd.next=head;\r\n\t\t\thead.prev=nd;\r\n\t\t\thead=nd;\r\n\t\t}\r\n\t\tjumlah++;\r\n\t}\r\n\tvoid tambahAkhir(int data){\r\n\t\tNode nd = new Node(data);\r\n\t\tif(AddtLinkedList.kosongCek(head)){\r\n\t\t\thead=tail=nd;\r\n\t\t} else {\r\n\t\t\ttail.next=nd;\r\n\t\t\tnd.prev=tail;\r\n\t\t\ttail=nd;\r\n\t\t}\r\n\t\tjumlah++;\r\n\t}\r\n\tvoid tambahTengah(int data, int posisi){\r\n\t\tNode nd = new Node(data);\r\n\t\tif(AddtLinkedList.kosongCek(head)){\r\n\t\t\thead=tail=nd;\r\n\t\t} else if (posisi&amp;gt;jumlah){\r\n\t\t\tSystem.out.println(&quot;Posisi melebihi jumlah node, maka data di letakkan paling akhir!&quot;);\r\n\t\t\ttambahAkhir(data);\r\n\t\t} else {\r\n\t\t\tcurrent=head;\r\n\t\t\tint i=1;\r\n\t\t\twhile(i&amp;lt;(posisi-1)){\r\n\t\t\t\tcurrent=current.next;\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t\tnd.next=current.next;\r\n\t\t\tnd.prev=current;\r\n\t\t\tcurrent.next.prev=nd;\r\n\t\t\tcurrent.next=nd;\r\n\t\t}\r\n\t\tjumlah++;\r\n\t}\r\n\tvoid hapusTengah(int posisi){\r\n\t\tif(AddtLinkedList.kosongCek(head)){\r\n\t\t\tSystem.out.println(&quot;List masih kosong!&quot;);\r\n\t\t} else if (posisi&amp;gt;jumlah){\r\n\t\t\tSystem.out.println(&quot;Di luar jangkauan!&quot;);\r\n\t\t} else {\r\n\t\t\tcurrent=head;\r\n\t\t\tint i=1;\r\n\t\t\twhile(i&amp;lt;(posisi-1)){\r\n\t\t\t\tcurrent=current.next;\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t\tcurrent.next=current.next.next;\r\n\t\t\tcurrent.next.prev=current;\r\n\t\t}\r\n\t\tjumlah--;\r\n\t}\r\n\tNode getHead(){\r\n\t\treturn head;\r\n\t}\r\n\tNode getTail(){\r\n\t\treturn tail;\r\n\t}\r\n\tint getJumlah(){\r\n\t\treturn jumlah;\r\n\t}\r\n}<\/pre>\n<p>file <strong>Main.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">public class Main {\r\n\r\n\tpublic static void main (String args&#x5B;]) {\r\n\r\n                OrderedList ol = new OrderedList();\r\n\t\tSystem.out.println(&quot;list awal...&quot;);\r\n\t\tol.tambahAwal(3);\r\n\t\tol.tambahAkhir(5);\r\n\t\tol.tambahAkhir(7);\r\n\t\tol.tambahAkhir(9);\r\n\t\tol.tambahAkhir(0);\r\n\t\tAddtLinkedList.tampil(ol.getHead());\r\n\t\tSystem.out.println(&quot;disisipkan 4 pada posisi ke-2...&quot;);\r\n\t\tol.tambahTengah(4, 2);\r\n\t\tAddtLinkedList.tampil(ol.getHead());\r\n\r\n\t\tDoubleOrderedList dol = new DoubleOrderedList();\r\n\t\tSystem.out.println(&quot;list awal...&quot;);\r\n\t\tdol.tambahAwal(3);\r\n\t\tdol.tambahAkhir(5);\r\n\t\tdol.tambahAkhir(7);\r\n\t\tdol.tambahAkhir(9);\r\n\t\tdol.tambahAkhir(0);\r\n\t\tAddtLinkedList.tampil(dol.getHead(), dol.getTail(), &quot;maju&quot;);\r\n\t\tSystem.out.println(&quot;disisipkan 4 pada posisi ke-2...&quot;);\r\n\t\tdol.tambahTengah(4, 2);\r\n\t\tAddtLinkedList.tampil(dol.getHead(), dol.getTail(), &quot;maju&quot;);\r\n\t}\r\n}<\/pre>\n<p>untuk method method yang lain tinggal di masukkan sendiri \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Iseng posting tentang linkedlist java, mumpung sedang belajar itu juga di Algoritma dan Struktur Data.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[57],"tags":[87,92,102,105,106],"class_list":["post-74","post","type-post","status-publish","format-standard","hentry","category-programming","tag-algoritma-dan-struktur-data","tag-double-linked-list","tag-linkedlist","tag-oop","tag-pbo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Single dan Double OrderedLinkedList di java - Ahmad Zafrullah<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Single dan Double OrderedLinkedList di java - Ahmad Zafrullah\" \/>\n<meta property=\"og:description\" content=\"Iseng posting tentang linkedlist java, mumpung sedang belajar itu juga di Algoritma dan Struktur Data.&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Zafrullah\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:author\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:published_time\" content=\"2011-04-07T06:10:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-24T10:54:44+00:00\" \/>\n<meta name=\"author\" content=\"Zaf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:site\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zaf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/\"},\"author\":{\"name\":\"Zaf\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"headline\":\"Single dan Double OrderedLinkedList di java\",\"datePublished\":\"2011-04-07T06:10:32+00:00\",\"dateModified\":\"2014-11-24T10:54:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/\"},\"wordCount\":685,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"keywords\":[\"algoritma dan struktur data\",\"double linked list\",\"linkedlist\",\"oop\",\"pbo\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/\",\"name\":\"Single dan Double OrderedLinkedList di java - Ahmad Zafrullah\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\"},\"datePublished\":\"2011-04-07T06:10:32+00:00\",\"dateModified\":\"2014-11-24T10:54:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/single-dan-double-orderedlinkedlist-di-java\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Single dan Double OrderedLinkedList di java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\",\"name\":\"Ahmad Zafrullah\",\"description\":\"Work to Learn is better than Learn how to Work\",\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\",\"name\":\"Zaf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"width\":300,\"height\":300,\"caption\":\"Zaf\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/zaf.web.id\",\"http:\\\/\\\/www.facebook.com\\\/23Pstars\",\"https:\\\/\\\/x.com\\\/23Pstars\"],\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/author\\\/zaf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Single dan Double OrderedLinkedList di java - Ahmad Zafrullah","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/","og_locale":"id_ID","og_type":"article","og_title":"Single dan Double OrderedLinkedList di java - Ahmad Zafrullah","og_description":"Iseng posting tentang linkedlist java, mumpung sedang belajar itu juga di Algoritma dan Struktur Data.&hellip;","og_url":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/","og_site_name":"Ahmad Zafrullah","article_publisher":"http:\/\/www.facebook.com\/23Pstars","article_author":"http:\/\/www.facebook.com\/23Pstars","article_published_time":"2011-04-07T06:10:32+00:00","article_modified_time":"2014-11-24T10:54:44+00:00","author":"Zaf","twitter_card":"summary_large_image","twitter_creator":"@23Pstars","twitter_site":"@23Pstars","twitter_misc":{"Ditulis oleh":"Zaf","Estimasi waktu membaca":"3 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/#article","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/"},"author":{"name":"Zaf","@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"headline":"Single dan Double OrderedLinkedList di java","datePublished":"2011-04-07T06:10:32+00:00","dateModified":"2014-11-24T10:54:44+00:00","mainEntityOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/"},"wordCount":685,"commentCount":0,"publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"keywords":["algoritma dan struktur data","double linked list","linkedlist","oop","pbo"],"articleSection":["Programming"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/","url":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/","name":"Single dan Double OrderedLinkedList di java - Ahmad Zafrullah","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/#website"},"datePublished":"2011-04-07T06:10:32+00:00","dateModified":"2014-11-24T10:54:44+00:00","breadcrumb":{"@id":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zaf.web.id\/blog\/single-dan-double-orderedlinkedlist-di-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zaf.web.id\/blog\/"},{"@type":"ListItem","position":2,"name":"Single dan Double OrderedLinkedList di java"}]},{"@type":"WebSite","@id":"https:\/\/zaf.web.id\/blog\/#website","url":"https:\/\/zaf.web.id\/blog\/","name":"Ahmad Zafrullah","description":"Work to Learn is better than Learn how to Work","publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zaf.web.id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":["Person","Organization"],"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed","name":"Zaf","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","contentUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","width":300,"height":300,"caption":"Zaf"},"logo":{"@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1"},"sameAs":["http:\/\/zaf.web.id","http:\/\/www.facebook.com\/23Pstars","https:\/\/x.com\/23Pstars"],"url":"https:\/\/zaf.web.id\/blog\/author\/zaf\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1048,"url":"https:\/\/zaf.web.id\/blog\/ketika-ddos-menyerang\/","url_meta":{"origin":74,"position":0},"title":"Ketika DDoS menyerang","author":"Zaf","date":"April 1, 2017","format":false,"excerpt":"Mengelola server merupakan pekerjaan yang tidak\u00a0selalu mudah. Sesuatu\u00a0yang sifatnya open public pastinya memiliki banyak ancaman yang tidak pernah dapat ditebak kapan datangnya. Berapa tahun terakhir saya bertugas untuk mengelola beberapa server\u00a0yang\u00a0menaungi cukup banyak website, mulai dari bisnis, personal, iseng, sampai yang tidak penting. DigitalOcean Sejauh ini layanan VPS (Virtual Private\u2026","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"DDoS everywhere","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ddos-ddos-everywhere.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ddos-ddos-everywhere.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ddos-ddos-everywhere.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1324,"url":"https:\/\/zaf.web.id\/blog\/domain-lokal-menggunakan-virtual-host-di-apache\/","url_meta":{"origin":74,"position":1},"title":"Domain Lokal menggunakan Virtual Host di Apache","author":"Zaf","date":"November 24, 2018","format":false,"excerpt":"Web developer pastinya tidak asing lagi dengan alamat 127.0.0.1 a.k.a localhost. 127.0.0.1 maupun localhost merujuk pada suatu alamat pada mesin komputer kita, atau biasa disebut dengan host, disanalah si Apache biasanya bersarang. Untuk project yang sifatnya masih development biasanya akan menggunakan alamat tersebut. Hanya saja akan ada kendala dimana dalam\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"Apache Web Server","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/12\/apache-web-server-1024x423.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/12\/apache-web-server-1024x423.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/12\/apache-web-server-1024x423.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":434,"url":"https:\/\/zaf.web.id\/blog\/implementasi-cipher-dengan-php\/","url_meta":{"origin":74,"position":2},"title":"Implementasi cipher dengan PHP","author":"Zaf","date":"April 4, 2011","format":false,"excerpt":"Kemarin kebetulan belajar keamanan informasi tentang enkripsi, dan di ajarkan beberapa enkripsi yaitu caesar cipher dan vigenere cipher. tiba tiba terfikir ingin mencoba membuat cipher dengan PHP, berhubung saya sedang menggemari bahasa tersebut. ya alhamdulillah setelah beberapa hari akhirnya jadi juga :D untuk menjelaskan programnya satu persatu, mungkin akan memakan\u2026","rel":"","context":"dalam &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/zaf.web.id\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":642,"url":"https:\/\/zaf.web.id\/blog\/membuat-booking-form-widget-di-wordpress\/","url_meta":{"origin":74,"position":3},"title":"Membuat Booking Form Widget di WordPress","author":"Zaf","date":"September 19, 2015","format":false,"excerpt":"Kali ini saya akan coba membuat\u00a0Booking Form Widget untuk Fastboat di WordPress, secara konsep sebetulnya hampir sama untuk penggunaan pada\u00a0booking platform yang lain. Hanya saja untuk Fastboat kali ini menggunakan API dari Fastboat System yang sudah ada. Pertama-tama adalah\u00a0membuat class untuk Widget yang akan dibuat didalam file functions.php theme yang\u2026","rel":"","context":"dalam &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/zaf.web.id\/blog\/category\/programming\/"},"img":{"alt_text":"Fastboat Booking","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/09\/Screen-Shot-2015-09-17-at-3.19.46-PM1.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":942,"url":"https:\/\/zaf.web.id\/blog\/jetbrains-development-tools-yang-bersahabat-dengan-pelajar\/","url_meta":{"origin":74,"position":4},"title":"JetBrains: Development Tools yang bersahabat dengan pelajar","author":"Zaf","date":"Oktober 3, 2016","format":false,"excerpt":"Seorang developer, selain harus menguasai\u00a0serangkaian\u00a0proses development dan logic model, biasanya\u00a0juga memiliki IDE\u00a0favorit.\u00a0Saya sendiri menjatuhkan pilihan pada IDE populer yang dikembangkan oleh\u00a0JetBrains. Hampir sebagian besar bahasa\u00a0pemrograman yang saat ini banyak digunakan telah tersedia IDE-nya. IDE dalam hal ini bukan sekedar text highlighter\u00a0atau command auto complete,\u00a0tapi dapat melakukan\u00a0trace sesuai dengan\u00a0arsitektur bahasa pemrograman\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"JetBrains Logo","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/10\/jetbrains-logo.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":484,"url":"https:\/\/zaf.web.id\/blog\/serangan-campaign-malware\/","url_meta":{"origin":74,"position":5},"title":"Serangan Campaign Malware","author":"Zaf","date":"Desember 18, 2014","format":false,"excerpt":"Hari ini dipenghujung tahun 2014 ini adalah hari paling merepotkan selama mengelola salah satu Cloud milik LRsoft.\u00a0Pasalnya server mendapat kado natal istimewa berupa malware yang menginfeksi 60 lebih website yang\u00a0ada didalamnya, sehingga ketika domain web tersebut diakses via browser akan muncul peringatan block halaman dari layanan Google seperti gambar dibawah:\u2026","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"Block dari Google","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/12\/malware-frommshead.php_.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/12\/malware-frommshead.php_.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/12\/malware-frommshead.php_.png?resize=525%2C300 1.5x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4zLnS-1c","_links":{"self":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/74","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/comments?post=74"}],"version-history":[{"count":2,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/74\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/74\/revisions\/451"}],"wp:attachment":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/media?parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/categories?post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/tags?post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}