{"id":531,"date":"2020-04-11T00:10:29","date_gmt":"2020-04-11T00:10:29","guid":{"rendered":"https:\/\/unydevelopernetwork.com\/?p=531"},"modified":"2020-04-11T00:10:44","modified_gmt":"2020-04-11T00:10:44","slug":"fun-tutorial-membuat-segitiga-simetris-dengan-java-cli","status":"publish","type":"post","link":"https:\/\/unydevelopernetwork.com\/index.php\/2020\/04\/11\/fun-tutorial-membuat-segitiga-simetris-dengan-java-cli\/","title":{"rendered":"Fun &#038; Tutorial: Membuat Segitiga Simetris dengan Java (CLI)"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<p>Selamat datang di blogs UNYDeveloperNetwork. Pada artikel fun &amp; tutorial kali ini, Saya ingin melanjutkan artikel tentang cara membuat segitiga dengan Java yang sebelumnya telah Saya posting di <a rel=\"noreferrer noopener\" href=\"https:\/\/unydevelopernetwork.com\/index.php\/2020\/04\/10\/fun-tutorial-membuat-segitiga-siku-siku-dengan-java-cli\/\" target=\"_blank\">sini<\/a>.  Pada artikel tersebut, Saya menuliskan tutorial untuk membentuk segitiga siku &#8211; siku. Sekarang kita akan menuju ke sesuatu yang lebih advanced, yakni Segitiga Simetris. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Apakah itu Segitiga Simetris? Segitiga bisa disebut simetris di sini tidak merujuk pada pengertian Segitiga Simetris sebenarnya yang mana panjang sisi &#8211; sisinya sama, dan sudutnya sama. Namun, maksud simetris di sini adalah sisi kanan dan kiri segitiga adalah sama. Jadi sisi kanan segitiga merupakan hasil pencerminan sisi kiri segitiga.<\/p>\n\n\n\n<p>Hasil akhir dari program yang akan di buat kali ini adalah seperti tangkapan layar di bawah ini.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"277\" height=\"206\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-70.png\" alt=\"\" class=\"wp-image-532\"\/><\/figure><\/div>\n\n\n\n<p>Bagaimanakah cara membuatnya? Mari kita simak bersama. <\/p>\n\n\n\n<p><strong>PERTAMA<\/strong>, buat class <em>SegitigaSimetris.java<\/em> beserta <em>main class <\/em>nya..<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class SegitigaSimetris {\n     public static void main(String&#91;] args){\n     }\n}<\/code><\/pre>\n\n\n\n<p><strong>KEDUA<\/strong>, import <em>java.util.Scanner<\/em> untuk menghandle masukan dari <em>user<\/em> dan <em>java.util.InputMismatchException<\/em> untuk memastikan masukan dari <em>user <\/em>berupa angka. Letakkan di atas nama <em>class<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.InputMismatchException;\nimport java.util.Scanner;<\/code><\/pre>\n\n\n\n<p><strong>KETIGA<\/strong>, buat method dengan nilai kembalian object <em>Scanner<\/em> untuk menghandle masukan dari <em>user<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private static Scanner getInput() {\n    return new Scanner(System.in);\n}<\/code><\/pre>\n\n\n\n<p><strong>KEEMPAT<\/strong>, buat method void untuk mencetak <em>space<\/em> dari pinggir CLI dengan parameter satu value <em>integer<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private static void createSpace(int space) {\n    for(int i = 0; i &lt; space; i++) {\n        System.out.print(\" \");\n    }\n}<\/code><\/pre>\n\n\n\n<p>Logika dari method ini adalah, method ini akan menjalankan iterasi yang setiap iterasinya akan mencetak satu <em>space<\/em>.<\/p>\n\n\n\n<p><strong>KELIMA<\/strong>, buat method void dengan parameter satu <em>value<\/em> <em>integer<\/em> untuk mencetak <em>shape<\/em> Segitiga.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private static void createShape(int shape) {\n    for(int i = 0; i &lt; shape; i++) {\n        System.out.print(\"* \");\n    }\n}<\/code><\/pre>\n\n\n\n<p>Logika method ini hampir sama dengan method untuk mencetak <em>space<\/em>. Jadi method ini akan menjalankan iterasi yang setiap iterasinya akan mencetak satu karakter (&#8221; * &#8220;) \/ asterisk.<\/p>\n\n\n\n<p><strong>KEENAM<\/strong>, buat method void dengan parameter satu <em>value integer<\/em> sebagai method inti untuk membuat segitiga.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private static void createSegitiga(int tinggiSegitiga) {\n    int space = tinggiSegitiga;\n    for(int i = 1; i &lt;= tinggiSegitiga; i++) {\n        createSpace(space);\n        createShape(i);\n        System.out.println(\"\");\n        space--;\n    }\n}<\/code><\/pre>\n\n\n\n<p>Setelah kita membuat method untuk mencetak <em>space<\/em> dan karakter (&#8221; * &#8220;) tadi, semuanya kita panggil di method inti ini. Sekarang kita perhatikan satu persatu baris kode pada method tersebut. Mengapa saya membuat <em>variable<\/em> baru dengan nama space dengan <em>value<\/em> sama dengan tinggiSegitiga? Ya, karena Saya ingin menggunakan <em>variable<\/em> ini untuk mencetak <em>space<\/em>. Dan juga karena pencetakan <em>space<\/em> memerlukan sesuatu yang dapat di-<em>decrement<\/em>, maka <em>variable space<\/em> ini pun di-<em>decrement<\/em> setiap akhir dari iterasi. <\/p>\n\n\n\n<p>Sedangkan untuk di dalam iterasi tidak ada hal &#8211; hal yang rumit, cukup memanggil method method yang sudah kita buat tadi, mulai dari memanggil method <em>createSpace<\/em> dengan isian parameter <em>variable space<\/em> terlebih dahulu, kemudian dilanjutkan dengan mencetak karakter ( &#8221; * &#8221; ) dengan memanggil method <em>createShape<\/em> dengan isian parameter nilai iterasi yang maksimumnya adalah dari masukan <em>user<\/em> berupa nilai tinggi segitiga. Setelahnya, kita menemukan <em>System.out.println(&#8220;&#8221;);<\/em> yang digunakan untuk mengganti baris, dan diakhiri dengan <em>decrement<\/em> <em>value <\/em>untuk <em>variable space<\/em>.<\/p>\n\n\n\n<p>Terakhir, kita tambahkan kode berikut sebagai interaksi program dengan <em>user<\/em>. Letakkan kode berikut di dalam method <em>main<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\t\tboolean status = true;\n\t\tSystem.out.println(\"Program Segitiga Simetris\\nCoded in Java by Muhammad Irfan Luthfi\\ngithub.com\/milstrike\");\n\t\twhile(status) {\n\t\t\tSystem.out.print(\"Masukkan tinggi Segitiga: \");\n\t\t\ttry {\n\t\t\t\tcreateSegitiga(getInput().nextInt());\n\t\t\t\tstatus = false;\n\t\t\t}catch(InputMismatchException e) {\n\t\t\t\tSystem.out.println(\"Masukan harus berupa angka!\");\n\t\t\t\tstatus = true;\n\t\t\t}\n\t\t}<\/code><\/pre>\n\n\n\n<p>Selanjutnya, kita compile dan kita RUN.<\/p>\n\n\n\n<p><em>Tinggi Segitiga = 3<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"273\" height=\"101\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-71.png\" alt=\"\" class=\"wp-image-533\"\/><\/figure><\/div>\n\n\n\n<p><em>TInggi Segitiga = 5<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"272\" height=\"133\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-72.png\" alt=\"\" class=\"wp-image-534\"\/><\/figure><\/div>\n\n\n\n<p><em>Tinggi Segitiga = 10<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"273\" height=\"209\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-74.png\" alt=\"\" class=\"wp-image-536\"\/><\/figure><\/div>\n\n\n\n<p><em>Error handling, memastikan masukan dari user berupa angka<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"271\" height=\"223\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-75.png\" alt=\"\" class=\"wp-image-537\"\/><\/figure><\/div>\n\n\n\n<p>Bagaimana? sudah paham? atau masih bingung? Jika masih bingung, berikut adalah <em>full source code<\/em> nya.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\n * Author: Muhammad Irfan Luthfi\n * github.com\/milstrike\n *\/\n\nimport java.util.InputMismatchException;\nimport java.util.Scanner;\n\npublic class SegitigaSimetris {\n\n\tprivate static Scanner getInput() {\n\t\treturn new Scanner(System.in);\n\t}\n\t\n\tprivate static void createSpace(int space) {\n\t\tfor(int i = 0; i &lt; space; i++) {\n\t\t\tSystem.out.print(\" \");\n\t\t}\n\t}\n\t\n\tprivate static void createShape(int shape) {\n\t\tfor(int i = 0; i &lt; shape; i++) {\n\t\t\tSystem.out.print(\"* \");\n\t\t}\n\t}\n\t\n\tprivate static void createSegitiga(int tinggiSegitiga) {\n\t\tint space = tinggiSegitiga;\n\t\tfor(int i = 1; i &lt;= tinggiSegitiga; i++) {\n\t\t\tcreateSpace(space);\n\t\t\tcreateShape(i);\n\t\t\tSystem.out.println(\"\");\n\t\t\tspace--;\n\t\t}\n\t}\n\t\n\tpublic static void main(String&#91;] args) {\n\t\tboolean status = true;\n\t\tSystem.out.println(\"Program Segitiga Simetris\\nCoded in Java by Muhammad Irfan Luthfi\\ngithub.com\/milstrike\");\n\t\twhile(status) {\n\t\t\tSystem.out.print(\"Masukkan tinggi Segitiga: \");\n\t\t\ttry {\n\t\t\t\tcreateSegitiga(getInput().nextInt());\n\t\t\t\tstatus = false;\n\t\t\t}catch(InputMismatchException e) {\n\t\t\t\tSystem.out.println(\"Masukan harus berupa angka!\");\n\t\t\t\tstatus = true;\n\t\t\t}\n\t\t}\n\t}\n}<\/code><\/pre>\n\n\n\n<p>Baiklah, demikianlah artikel fun &amp; tutorial kali ini. Semoga bermanfaat untuk kita semua. Jika Anda masih bingung juga, jangan sungkan untuk meninggalkan pertanyaan di kolom komentar. Jika Anda ingin mencuplik artikel ini, jangan lupa untuk menyertakan URLnya. Terima Kasih&#8230;. ^_^<\/p>\n\n\n\n<p><strong>UNDUH PROJECT:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/milstrike\/UNYDeveloperNetwork\/tree\/master\/SegitigaJava\">https:\/\/github.com\/milstrike\/UNYDeveloperNetwork\/tree\/master\/SegitigaJava<\/a><\/li><\/ul>\n\n\n\n<p><strong>ARTIKEL TERKAIT<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/unydevelopernetwork.com\/index.php\/2020\/04\/10\/fun-tutorial-membuat-segitiga-siku-siku-dengan-java-cli\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fun &amp; Tutorial: Membuat Segitiga Siku Siku dengan Java (CLI)<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Selamat datang di blogs UNYDeveloperNetwork. Pada artikel fun &amp; tutorial kali ini, Saya ingin melanjutkan artikel tentang cara membuat segitiga dengan Java yang sebelumnya telah Saya posting di sini. Pada artikel tersebut,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":539,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"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":""},"categories":[16,3,2],"tags":[150,26,99,5,84,86,162,166,167],"class_list":["post-531","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fun","category-java","category-tutorial","tag-algoritma","tag-algoritma-pemrograman","tag-eclipse","tag-java","tag-java-scanner","tag-java-util-scanner","tag-segitiga-java","tag-segitiga-simetris","tag-segitiga-simetris-java"],"featured_image_src":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/segitigasimetris.png","author_info":{"display_name":"Muhammad Irfan Luthfi","author_link":"https:\/\/unydevelopernetwork.com\/index.php\/author\/admin\/"},"jetpack_featured_media_url":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/segitigasimetris.png","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/comments?post=531"}],"version-history":[{"count":1,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/531\/revisions"}],"predecessor-version":[{"id":540,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/531\/revisions\/540"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media\/539"}],"wp:attachment":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media?parent=531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/categories?post=531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/tags?post=531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}