Tutorial Membuat Segitiga Dengan Python - Versi Bintang


Oleh Bramanto (bramanto)



Bramanto

Full-time Dreamer | Part-time Developer | Student

@_bramanto_
http://bramanto.com


Sebagai coder pemula kita memang dituntut untuk mempelajari algoritma untuk mengasah logika berfikir kita bagaimana melakukan pemecahan ataupun solusi terhadap suatu masalah. Rasanya memang tidak akan lengkap mempelajari ilmu programming tanpa algoritma. Karena algoritma merupakan pondasi terpenting untuk mempelajari ilmu programming.

Mempelajari sintaks dasar seperti if, elseif, switch, for, while, do while dan lain-lainnya memang tidak wajib. Tapi hal ini justru sangat bermanfaat ketika kita menemukan sebuah algoritma yang cukup sedikit menguras otak. Sebuah contoh misalnya kita ingin membuat sebuah pondasi segitiga secara dinamis dengan berbagai bentuk perataan baik rata kiri, kanan, atas, bawah ataupun tengah. Bagaimana dengan algoritmanya, mudah bukan ?. Bagi coder pemula atau orang awam mungkin bingung entah dimulai dari mana untuk memecahkan algoritma ini, apalagi di implementasikannya ke dalam program komputer. Dari algoritma tersebut, mari kita buat sebuah program sederhana dengan menggunakan python.
Untuk langkah awal, coder cukup menyediakan python pada perangkat komputernya. Bagi pengguna windows coder dapat mengikuti tutorial instalasinya disini.

1. Untuk awal kita coba membuat sebuah segitiga dengan perataan kiri bawah.

string = ""
bar = 1

x = int(input("Masukkan angka :"))

# Looping Baris
while bar <= x:
	kol = bar

	# Looping Kolom
	while kol > 0:
		string = string + " * "
		kol = kol - 1
		
	string = string + "\n"
	bar = bar + 1
print (string)

Disini kita beri nama segitiga_01.py , untuk menjalankannya masuk ke dalam folder dimana kita meletakan file segitiga_01.py . Kemudian ketik command : python segitiga_01.py . Sehingga outputnya seperti ini.


2. Membuat sebuah segitiga dengan perataan kiri atas.

string = ""

bar = int(input("Masukkan angka :"))

#Looping Baris
while bar >= 0:
	kol = bar

	# Looping Kolom
	while kol > 0:
		string = string + " * "
		kol = kol - 1
		
	string = string + "\n"
	bar = bar - 1
	
print (string)

Maka output setelah di jalankan dengan command : python segitiga_02.py

3. Membuat sebuah segitiga dengan perataan kanan bawah.

string = ""

x = int(input("Masukkan angka :"))
bar = x
# Looping Baris
while bar >= 0:

	# Looping Kolom Spasi Kosong
	kol = bar
	while kol > 0:
		string = string + "   "
		kol = kol - 1
	
	# Looping Kolom Bintang	
	kanan = 1
	while kanan < (x - (bar-1)):
		string = string + " * "
		kanan = kanan + 1		
		
	string = string + "\n"
	bar = bar - 1
	
print (string)

Maka output setelah di jalankan dengan command : python segitiga_03.py

4. Membuat sebuah segitiga dengan perataan kanan atas.

string = ""
bar = 1

x = int(input("Masukkan angka :"))

# Looping Baris
while bar <= x:
	# Looping Kolom Spasi Kosong
	kol = bar	
	while kol > 1:
		string = string + "   "
		kol = kol - 1
	
	# Looping Kolom Bintang	
	kanan = 0
	while kanan <= (x - bar):
		string = string + " * "
		kanan = kanan + 1	
		
	string = string + "\n"
	bar = bar + 1
print (string)

Maka output setelah di jalankan dengan command : python segitiga_04.py

5. Membuat sebuah segitiga dengan perataan tengah bawah.

string = ""

x = int(input("Masukkan angka :"))
bar = x
# Looping Baris
while bar >= 0:
	# Looping Kolom Spasi Kosong
	kol = bar
	while kol > 0:
		string = string + "   "
		kol = kol - 1
	# Looping Kolom Bintang Sisi Kiri	
	kiri = 1
	while kiri < (x - (bar-1)):
		string = string + " * "
		kiri = kiri + 1		
	# Looping Kolom Bintang Sisi Kanan
	kanan = 1
	while kanan < kiri -1:
		string = string + " * "
		kanan = kanan + 1	

	string = string + "\n\n"
	bar = bar - 1
	
print (string)

Maka output setelah di jalankan dengan command : python segitiga_05.py

6. Membuat sebuah segitiga dengan perataan tengah atas.

string = ""
bar = 1

x = int(input("Masukkan angka :"))
print ("\n")
# Looping Baris
while bar <= x:
	kol = bar
	# Looping Kolom Spasi Kosong
	while kol > 1:
		string = string + "   "
		kol = kol - 1
	# Looping Kolom Bintang Sisi Kiri	
	kiri = 0
	while kiri <= (x - bar):
		string = string + " * "
		kiri = kiri + 1	
	# Looping Kolom Bintang Sisi Kanan
	kanan = kiri	
	while kanan > 1:
		string = string + " * "
		kanan = kanan - 1

	string = string + "\n\n"
	bar = bar + 1
print (string)

Maka output setelah di jalankan dengan command : python segitiga_06.py

7. Membuat sebuah segitiga dengan perataan tengah (belah ketupat).

string = ""

x = int(input("Masukkan angka :"))
bar = x
# Looping Baris
while bar >= 0:
	# Looping Kolom Spasi Kosong
	kol = bar
	while kol > 0:
		string = string + "   "
		kol = kol - 1
	# Looping Kolom Bintang Sisi Kiri		
	kiri = 1
	while kiri < (x - (bar-1)):
		string = string + " * "
		kiri = kiri + 1		
	# Looping Kolom Bintang Sisi Kanan
	kanan = 1
	while kanan < kiri -1:
		string = string + " * "
		kanan = kanan + 1	

	string = string + "\n\n"
	bar = bar - 1

bar = 1	
# Looping Baris
while bar <= x:
	kol = bar+1
	# Looping Kolom Spasi Kosong
	while kol > 1:
		string = string + "   "
		kol = kol - 1
	# Looping Kolom Bintang Sisi Kiri	
	kiri = 0
	while kiri < (x - bar):
		string = string + " * "
		kiri = kiri + 1	
	# Looping Kolom Bintang Sisi Kanan
	kanan = kiri	
	while kanan > 1:
		string = string + " * "
		kanan = kanan - 1

	string = string + "\n\n"
	bar = bar + 1
print (string)

Maka output setelah di jalankan dengan command : python segitiga_07.py

8. Membuat sebuah segitiga dengan perataan tengah atas bawah.

string = ""
bar = 1

x = int(input("Masukkan angka :"))
print ("\n")
# Looping Baris
while bar < x:
	# Looping Kolom Spasi Kosong
	kol = bar
	while kol > 1:
		string = string + "   "
		kol = kol - 1
	# Looping Kolom Bintang Sisi Kiri
	kiri = 0
	while kiri <= (x - bar):
		string = string + " * "
		kiri = kiri + 1	
	# Looping Kolom Bintang Sisi Kanan
	kanan = kiri	
	while kanan > 1:
		string = string + " * "
		kanan = kanan - 1

	if (bar+1) <= x:
		string = string + "\n\n"
	bar = bar + 1

bar = x-1	
# Looping Baris
while bar >= 0:
	# Looping Kolom Spasi Kosong
	kol = bar
	while kol > 0:
		string = string + "   "
		kol = kol - 1
	# Looping Kolom Bintang Sisi Kiri	
	kiri = 1
	while kiri < (x - (bar-1)):
		string = string + " * "
		kiri = kiri + 1		
	# Looping Kolom Bintang Sisi Kanan
	kanan = 1
	while kanan < kiri -1:
		string = string + " * "
		kanan = kanan + 1	

	string = string + "\n\n"
	bar = bar - 1
print (string)

Maka output setelah di jalankan dengan command : python segitiga_08.py

Bagaimana, mudah bukan ? Meskipun ini program segitiga sederhana, namun cukup baik untuk mengasah logika berfikir kita. Sebagai catatan, disini menggunakan Windows dengan python versi 3.6.0. Bagi pengguna sistem operasi lain seperti Linux, Mac OSX dan lainnya tidak perlu khawatir untuk mempelajari contoh sintaks codenya selagi intrepreter yang digunakan berjalan baik. Untuk latihan, coder dapat memodifikasi sintaks codeNya dengan berbagai macam bentuk segitiga lainnya. Semangat... Happy Coding!

Level artikel ini adalah advanced.
Dituliskan oleh Bramanto (bramanto) pada 7 Agustus 2016 dan telah dibaca sebanyak 148003 kali.
Tag: Python, algoritma

Beri Jempol · 13 jempol

berlangganan komentar



Komentar:

sopanmukti
147
2
· 8 tahun, 3 bulan yang lalu · 0 jempol

master coder @bramanto, 
salam coding,
saya adalah nubi,saya ingin menanyakan bagaimana cara membentuk logic pemograman,saya sudah belajar pemograman (javascript,php) tapi belum menemukan logicnya..
padahal yang saya tau modal awal untuk bisa menguasai bahasa pemograman adalah dari logicnya
...
terimkasih atas perhatian dan jawabannya nanti..

bramanto
300
1157
penulis
· 8 tahun, 3 bulan yang lalu · 0 jempol

Hai coder @sopanmukti. Suatu pertanyaan yang sama ketika beberapa tahun yang lalu, saya pribadi mengalami hal serupa. Logic dalam membangun atau menuliskan kode, memang tidak akan tampak (berwujud nyata) layakNya kode program. Logic ini merupakan sebuah alur pemikiran untuk menyelesaikan sebuah permasalahan (problem solving) yang nantiNya akan diterjemahkan ke dalam kode program. Secara tidak langsung, ketika kita menuliskan baris² kode maka di saat itu pula kita sedang menyusun alur² logic. Sebagai referensiNya artikel dari Mas @Ganis ini dapat memberikan motivasi kita untuk lebih baik lagi https://codesaya.com/a/bagaimana... . Semangat, Happy Coding!

sopanmukti
147
2
· 8 tahun, 3 bulan yang lalu · 1 jempol

terimakasih banyak untuk master coder @bramanto..
saya akan terus belajar menulis coding di pelajaran yang sudah di siapkan di CODE SAYA,
terimkasih banyak untuk CODE SAYA yang telah menyiapkan tools belajar dengan gratis ini..

semoga saya dan kita bisa menjadi lebih baik lagi.

Happy coding!

FahmiIrmansyah
135
2
· 8 tahun, 2 bulan yang lalu · 1 jempol

Kalau python segitiga_05.py sampai python segitiga_08.py bisa dibuat pakai php gak ?

sugidaffection
300
10
· 8 tahun, 2 bulan yang lalu · 1 jempol

x = int(input("Masukkan angka :"))
for i in range(0,x+1):print(i*"*")

ini versi pendeknya

bramanto
300
1157
penulis
· 8 tahun, 2 bulan yang lalu · 0 jempol

Hai coder @FahmiIrmansyah. Untuk sintaks codeNya tidak bisa, karena python dan php sedikit berbeda. Tapi untuk logikaNya 100% bisa digunakan untuk PHP. Silahkan dicoba, lalu share kembali di CodeSaya.com agar teman² yang lainNya dapat belajar. 

Halo coder @sugdaffection. Keren, ada yang lebih pendek, Berarti coder sudah dapat mengeksplorasi contoh code² sederhana menjadi lebih sederhana. Semangat ^_^.. terus berkarya.

Kagura
169
1
· 8 tahun, 1 bulan yang lalu · 0 jempol

Makasih baxk gan utk tutorialnya,saya terbantu sekali.Tp sy masih ngerasa susah buat ngerti logicnya ya?kadang yg ngambat tuh logicnya.Gimana biar bisa tajam d logic ya?maklum sy newbie

Kagura
169
1
· 8 tahun, 1 bulan yang lalu · 0 jempol

Kalau pake sintaks for itu gimana ya?terus kalau kita mau buatnya banyak * = input yg dimasukkan.Misal inputnya 4 utk segitiga sama kaki (rata tengah atas)maka skema gambarnya
                                     *
                                  *     *
                                *     *     *
                             *     *     *     *

Kagura
169
1
· 8 tahun, 1 bulan yang lalu · 0 jempol

Maksudx gini.  
                              *
                        *         *
                    *        *        *
                 *      *        *        *

bramanto
300
1157
penulis
· 8 tahun, 1 bulan yang lalu · 0 jempol

Halo coder @Kagura,  untuk logic.. lambat laun akan terasah bilamana kita sering mengeksplornya.. entah dengan studi kasus, belajar dari buku, tutorial dll..

Untuk pemecahan dengan menggunakan for, algoritmanya hampir sama. Namun pada for, kita harus tepat memposisikan increment maupun decrementnya agar string yang kita tuliskan tersusun dengan apa yang kita inginkan.  

Kagura
169
1
· 8 tahun, 1 bulan yang lalu · 0 jempol

Makasih mas @bramanto.udah solved.Berkat penjelasannya jd lebih mudah mengerti....

pythonnewt
109
5
· 6 tahun, 3 bulan yang lalu · 0 jempol

mas @bramanto, mau nanya arti kode \n\n itu apakah double enter?  kalau double enter kenapa outputnya hanya ada beda 1 line? thanks

Silahkan masuk untuk menulis artikel atau komentar.



Artikel Lainnya


Bramanto

7 Agustus 2016

Tutorial Membuat Segitiga Dengan Python - Versi Angka

Sebelumnya kita sudah melihat bagaimana mengimplementasikan algoritma dasar berupa program sederhana segitiga dengan python. Pada kesempatan kali ini kita coba berlatih dan mengubah bentuk segitiga bintang ke dalam segitiga angka ...

Lanjutkan membaca

11 menit bacaan · advanced



Ganis

2 Agustus 2016

Mengapa Kita Belajar Python

Python bukanlah bahasa yang terkenal di Indonesia. Itu bisa dengan mudah kita lihat dengan mengintip aktifitas di grup Facebook Python Indonesia yang hanya memiliki 14 ribu anggota saat ini. Jumlah ...

Lanjutkan membaca

7 menit bacaan · beginner