{"id":497,"date":"2020-04-08T16:40:40","date_gmt":"2020-04-08T16:40:40","guid":{"rendered":"https:\/\/unydevelopernetwork.com\/?p=497"},"modified":"2020-04-08T16:46:19","modified_gmt":"2020-04-08T16:46:19","slug":"fun-tutorial-membuat-double-segitiga-angka-java","status":"publish","type":"post","link":"https:\/\/unydevelopernetwork.com\/index.php\/2020\/04\/08\/fun-tutorial-membuat-double-segitiga-angka-java\/","title":{"rendered":"Fun &#038; Tutorial: Membuat Double Segitiga Angka (Java)"},"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\"> 3<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<p>Selamat datang di blogs UNYDeveloperNetwork. Pada artikel kali ini, Saya akan mencoba sesuatu yang berbeda, yakni fun &amp; tutorial. Jadi konsepnya adalah sebuah tutorial untuk fun. Untuk mengawali kategori fun &amp; tutorial ini, Saya akan membahas bagaimana cara membuat Double Segitiga Angka dengan menggunakan bahasa pemrograman Java. Apakah itu Double Segitiga Angka dan bagaimanakah kodingnya? mari kita simak artikel berikut.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Apakah itu Double Segitiga Angka? Ya tidak lain dan tidak bukan adalah segitiga double yang saling berhadapan. Ada dua aplikasi dari bentuk double segitiga angka ini, yakni segitiga dengan angka berulang, dan segitiga dengan angka yang <em>incremental<\/em>. Maksudnya adalah seperti ini, perhatikan output program di bawah ini.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><img decoding=\"async\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-50.png\"><\/td><td><img decoding=\"async\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/image-52.png\" alt=\"Gambar ini memiliki atribut alt yang kosong; nama filenya adalah image-52.png\"><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-group alignwide\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group alignwide\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>Pada tangkapan layar pertama, kita membentuk segitiga angka dengan angka berulang. Pada tangkapan layar kedua, kita membentuk segitiga angka dengan angka yang <em>incremental<\/em>. Bentuk kodingan kedua program ini sama persis, hanya terdapat perbedaan yang sangat kecil antara keduanya. Bagaimanakah kodingannya?<\/p>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<p><strong>PERTAMA, <\/strong>buatlah class dengan nama SegitigaAngka lengkap dengan method mainnya.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class SegitigaAngka {\n     public static void main(String&#091;] args){\n     }\n}<\/code><\/pre>\n\n\n\n<p><strong>KEDUA, <\/strong>import dua library yang dibutuhkan. Yang pertama adalah Scanner dan yang kedua adalah handler errornya yakni InputMismatchException<\/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 <em>Scanner<\/em> untuk menghandle masukan<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private static Scanner getScanner() {\n    return new Scanner(System.in);\n}<\/code><\/pre>\n\n\n\n<p><strong>KEEMPAT, <\/strong>buat method <em>printSpace<\/em> untuk mencetak space pada layar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private static void printSpace(int spaceLength) {\n    for(int i = 0; i &lt; spaceLength; i++) {\n        System.out.print(\" \");\n    }\n}<\/code><\/pre>\n\n\n\n<p><strong>KELIMA, <\/strong>buat method <em>printSegitiga1<\/em> untuk mencetak segitiga di sisi kiri<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/untuk SegitigaAngka dengan Angka Berulang\nprivate static void printSegitiga1(int numbers) {\n    for(int i = 0; i &lt; numbers; i++) {\n        System.out.print(numbers);\n    }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/untuk SegitigaAngka dengan Angka Increment\t\nprivate static void printSegitiga1(int numbers) {\n\t\tfor(int i = 0; i &lt; numbers; i++) {\n\t\t\tSystem.out.print(i+1);\n\t\t}\n\t}<\/code><\/pre>\n\n\n\n<p><strong>KEENAM<\/strong>, buat method <em>printSegitiga2<\/em> untuk mencetak segitiga di sisi kanan<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/untuk SegitigaAngka dengan Angka Berulang\n\tprivate static void printSegitiga2(int numbers) {\n\t\tfor(int i=0; i &lt; numbers; i++) {\n\t\t\tSystem.out.print(numbers);\n\t\t}\n\t}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/untuk Segitiga Angka dengan Angka Increment\n\tprivate static void printSegitiga2(int numbers) {\n\t\tint charlie = numbers;\n\t\tfor(int i=0; i &lt; numbers; i++) {\n\t\t\tSystem.out.print(charlie);\n\t\t\tcharlie--;\n\t\t}\n\t}<\/code><\/pre>\n\n\n\n<p><strong>KETUJUH, <\/strong>buat method <em>createSegitiga<\/em> untuk menghandle semua method<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\tprivate static void createSegitiga(int lengthSegitiga) {\n\t\tint alpha = 1, beta = lengthSegitiga;\n\t\tfor(int i = 0; i &lt; lengthSegitiga; i++) {\n\t\t\tprintSegitiga1(alpha);\n\t\t\tprintSpace(beta);\n\t\t\tSystem.out.print(\"|\");\n\t\t\tprintSpace(beta);\n\t\t\tprintSegitiga2(alpha);\n\t\t\tSystem.out.println(\"\");\n\t\t\talpha++;\n\t\t\tbeta--;\n\t\t}\n\t}<\/code><\/pre>\n\n\n\n<p>Di sinilah letak funnya. Setelah kita membuat beberapa <em>method<\/em>, di sinilah <em>method method <\/em>tersebut kita mainkan. <em>Method<\/em> createSegitiga ini memiliki satu parameter masukan yang berupa integer untuk menentukan tinggi segitiga. Di mana dalam hal ini, tinggi segitiga juga menentukan panjang angka yang akan dicetak. <\/p>\n\n\n\n<p>Pada awal <em>method<\/em> ini, terdapat dua <em>variable<\/em> yakni <em>alpha<\/em> dan <em>beta<\/em>. Apa fungsi dari masing &#8211; masing <em>variable <\/em>tersebut? <em>Variable<\/em> <em>alpha<\/em> berfungsi untuk menghitung berapa banyak angka yang akan dicetak dalam setiap tingkatan segitiga. <em>Variable alpha <\/em>ini akan terus di-<em>increment<\/em> dalam looping mencetak segitiga. <\/p>\n\n\n\n<p>Kemudian, <em>variable beta<\/em> berfungsi menghitung berapa <em>space<\/em> yang harus dicetak dalam setiap tingkatan segitiga. <em>Variable beta<\/em> ini juga di &#8211;<em>decrement<\/em> dalam looping mencetak segitiga. Sehingga, <em>method &#8211; method<\/em> yang telah dibuat tadi dipanggil dan parameternya menggunakan <em>variable alpha &amp; beta<\/em> ini. <\/p>\n\n\n\n<p>Perhatikan pada <em>method createSegitiga <\/em>tersebut. Karena <em>variable alpha &amp; beta <\/em>sudah disiapkan sedemikian rupa, kita hanya tinggal memanggil <em>method method <\/em>yang sudah dibuat untuk menyusun double segitiga angka. Dimulai dengan memanggil <em>method printSegitiga1<\/em> dengan parameternya adalah menggunakan <em>variable alpha<\/em>. Setelah mencetak segitiga, kemudian kita mencetak <em>space<\/em>, oleh karena itu kita panggil <em>method printSpace<\/em> dengan parameter yang digunakan adalah <em>variable beta<\/em>. Setelah kita memanggil <em>method printSpace, <\/em>kita cetakkan karakter (&#8220;|&#8221;) sebagai <em>divider<\/em>. Setelah itu kita panggil kembali <em>method<\/em> <em>printSpace<\/em>, dilanjutkan dengan pemanggilan <em>method printSegitiga2<\/em> untuk mencetak segitiga di sisi kanan dan diakhiri dengan <em>println<\/em> untuk mengganti baris. Di akhir dari <em>looping<\/em> kita <em>increment value <\/em>dari <em>variable<\/em> <em>alpha<\/em> dan kita <em>decrement value<\/em> dari <em>variable beta<\/em>.<\/p>\n\n\n\n<p>Terakhir, pada method main, kita tambahkan interaksi ke user untuk mendapatkan masukan dan <em>error handling<\/em>-nya.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public static void main(String&#091;] args) {\n    boolean status = true;\n    System.out.println(\"PROGRAM SEGITIGA ANGKA \\nCoded in java by Muhammad Irfan Luthfi\\ngithub.com\/milstrike\");\n    System.out.println(\"\");\n    while(status) {\n        try {\n            System.out.print(\"Masukkan tinggi segitiga: \");\n            createSegitiga(getScanner().nextInt());\n            status = false;\n        }catch(InputMismatchException e) {\n            System.out.println(\"Masukkan harus berupa angka!\");\n            status = true;\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>Sekarang, mari kita RUN<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/unydevelopernetwork.com\/cdn\/unydevelopernetwork\/SegitigaAngka2.mp4\"><\/video><\/figure>\n\n\n\n<p>dan berikut ini adalah kodingan lengkapnya.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\"><div class=\"oxi-addons-container oxi-addons-container-1\">\r\n                 <div class=\"oxi-addons-row\"> <div class=\"ctu-ultimate-wrapper-1\">\r\n              <div class=\"ctu-ulimate-style-1\"><div class=\"vc-tabs-li vc-tabs-li-1-id-1\" ref=\"#ctu-ulitate-style-1-id-1\">\r\n                                       SegitigaAngka.java\r\n                                        <div class=\"ctu-absolute\"><\/div>\r\n                                    <\/div><div class=\"vc-tabs-li vc-tabs-li-1-id-2\" ref=\"#ctu-ulitate-style-1-id-2\">\r\n                                       SegitigaAngka2.java\r\n                                        <div class=\"ctu-absolute\"><\/div>\r\n                                    <\/div> <\/div><div class=\"ctu-ultimate-style-1-content\">\r\n                    <div class=\"ctu-ultimate-style-heading-1 vc-tabs-li-1-id-1\" ref=\"#ctu-ulitate-style-1-id-1\"> \r\n                        SegitigaAngka.java\r\n                    <\/div>\r\n                    <div class=\"ctu-ulitate-style-1-tabs \" id=\"ctu-ulitate-style-1-id-1\">\r\n                        <pre>package SegitigaAngka;<br \/><br \/>import java.util.Scanner;<br \/>import java.util.InputMismatchException;<br \/><br \/>public class SegitigaAngka {<br \/> <br \/> private static Scanner getScanner() {<br \/> return new Scanner(System.in);<br \/> }<br \/><br \/> private static void printSpace(int spaceLength) {<br \/> for(int i = 0; i &lt; spaceLength; i++) {<br \/> System.out.print(\" \");<br \/> }<br \/> }<br \/> <br \/> private static void printSegitiga1(int numbers) {<br \/> for(int i = 0; i &lt; numbers; i++) {<br \/> System.out.print(numbers);<br \/> }<br \/> }<br \/> <br \/> private static void printSegitiga2(int numbers) {<br \/> for(int i=0; i &lt; numbers; i++) {<br \/> System.out.print(numbers);<br \/> }<br \/> }<br \/> <br \/> private static void createSegitiga(int lengthSegitiga) {<br \/> int alpha = 1, beta = lengthSegitiga;<br \/> for(int i = 0; i &lt; lengthSegitiga; i++) {<br \/> printSegitiga1(alpha);<br \/> printSpace(beta);<br \/> System.out.print(\"|\");<br \/> printSpace(beta);<br \/> printSegitiga2(alpha);<br \/> System.out.println(\"\");<br \/> alpha++;<br \/> beta--;<br \/> }<br \/> }<br \/> <br \/> public static void main(String[] args) {<br \/> boolean status = true;<br \/> System.out.println(\"PROGRAM SEGITIGA ANGKA \\\\nCoded in java by Muhammad Irfan Luthfi\\\\ngithub.com\/milstrike\");<br \/> System.out.println(\"\");<br \/> while(status) {<br \/> try {<br \/> System.out.print(\"Masukkan tinggi segitiga: \");<br \/> createSegitiga(getScanner().nextInt());<br \/> status = false;<br \/> }catch(InputMismatchException e) {<br \/> System.out.println(\"Masukkan harus berupa angka!\");<br \/> status = true;<br \/> }<br \/> }<br \/> }<br \/>}<\/pre>\r\n                        \r\n                    <\/div>\r\n                <\/div><div class=\"ctu-ultimate-style-1-content\">\r\n                    <div class=\"ctu-ultimate-style-heading-1 vc-tabs-li-1-id-2\" ref=\"#ctu-ulitate-style-1-id-2\"> \r\n                        SegitigaAngka2.java\r\n                    <\/div>\r\n                    <div class=\"ctu-ulitate-style-1-tabs \" id=\"ctu-ulitate-style-1-id-2\">\r\n                        <pre>package SegitigaAngka;<br \/><br \/>import java.util.Scanner;<br \/>import java.util.InputMismatchException;<br \/><br \/>public class SegitigaAngka2 {<br \/><br \/>private static Scanner getScanner() {<br \/>return new Scanner(System.in);<br \/>}<br \/><br \/>private static void printSpace(int spaceLength) {<br \/>for(int i = 0; i &lt; spaceLength; i++) {<br \/>System.out.print(\" \");<br \/>}<br \/>}<br \/><br \/>private static void printSegitiga1(int numbers) {<br \/>for(int i = 0; i &lt; numbers; i++) {<br \/>System.out.print(i+1);<br \/>}<br \/>}<br \/><br \/>private static void printSegitiga2(int numbers) {<br \/>int charlie = numbers;<br \/>for(int i=0; i &lt; numbers; i++) {<br \/>System.out.print(charlie);<br \/>charlie--;<br \/>}<br \/>}<br \/><br \/>private static void createSegitiga(int lengthSegitiga) {<br \/>int alpha = 1, beta = lengthSegitiga;<br \/>for(int i = 0; i &lt; lengthSegitiga; i++) {<br \/>printSegitiga1(alpha);<br \/>printSpace(beta);<br \/>System.out.print(\"|\");<br \/>printSpace(beta);<br \/>printSegitiga2(alpha);<br \/>System.out.println(\"\");<br \/>alpha++;<br \/>beta--;<br \/>}<br \/>}<br \/><br \/>public static void main(String[] args) {<br \/>boolean status = true;<br \/>System.out.println(\"PROGRAM SEGITIGA ANGKA \\\\nCoded in java by Muhammad Irfan Luthfi\\\\ngithub.com\/milstrike\");<br \/>System.out.println(\"\");<br \/>while(status) {<br \/>try {<br \/>System.out.print(\"Masukkan tinggi segitiga: \");<br \/>createSegitiga(getScanner().nextInt());<br \/>status = false;<br \/>}catch(InputMismatchException e) {<br \/>System.out.println(\"Masukkan harus berupa angka!\");<br \/>status = true;<br \/>}<br \/>}<br \/>}<br \/><br \/>}<\/pre>\r\n                        \r\n                    <\/div>\r\n                <\/div><\/div>   <\/div>\r\n              <\/div>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Kelemahan<\/h2>\n\n\n\n<p>Kelemahan dari kodingan ini adalah, hasil optimal hanya diperoleh maksimal dengan memasukkan angka 9. Selebihnya akan membuat susunan segitiga menjadi berantakan.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Bagaimana? masih bingungkah? Jika masih bingung, jangan sungkan untuk meninggalkan pertanyaan pada kolom komentar. Apabila Anda ingin mencuplik sesuatu dari artikel ini, jangan lupa sertakan juga URL nya. Terima kasih. ^_^<\/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\/SegitigaAngka\">https:\/\/github.com\/milstrike\/UNYDeveloperNetwork\/tree\/master\/SegitigaAngka<\/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\"> 3<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Selamat datang di blogs UNYDeveloperNetwork. Pada artikel kali ini, Saya akan mencoba sesuatu yang berbeda, yakni fun &amp; tutorial. Jadi konsepnya adalah sebuah tutorial untuk fun. Untuk mengawali kategori fun &amp; tutorial&#8230;<\/p>\n","protected":false},"author":1,"featured_media":505,"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,153,99,17,5,72,151,152,4],"class_list":["post-497","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fun","category-java","category-tutorial","tag-algoritma","tag-algoritma-pemrograman","tag-angka","tag-eclipse","tag-fun","tag-java","tag-pemrograman","tag-segitiga","tag-segitiga-angka","tag-tutorial"],"featured_image_src":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/04\/segitigaangka.jpg","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\/segitigaangka.jpg","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/497","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=497"}],"version-history":[{"count":3,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/497\/revisions"}],"predecessor-version":[{"id":507,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/497\/revisions\/507"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media\/505"}],"wp:attachment":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media?parent=497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/categories?post=497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/tags?post=497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}