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, baik itu secara increment ataupun decrement. Mari kita coba membuatnya.
1. Membuat sebuah segitiga angka dengan perataan kiri bawah.
string = ""
bar = 1
x = int(input("Masukkan angka :"))
no = 1
# Looping Baris
while bar <= x:
kol = bar
# Looping Kolom
while kol > 0:
string = string + " " + str(no) + " "
kol = kol - 1
string = string + "\n"
bar = bar + 1
no = no+1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_01.py
2. Membuat sebuah segitiga angka dengan perataan kiri atas.
string = ""
bar = int(input("Masukkan angka :"))
no = bar
# Looping Baris
while bar >= 0:
# Looping Kolom
kol = bar
while kol > 0:
string = string + " " + str(no) + " "
kol = kol - 1
string = string + "\n"
bar = bar - 1
no = no - 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_02.py
3. Membuat sebuah segitiga angka dengan perataan kanan bawah.
string = ""
x = int(input("Masukkan angka :"))
bar = x
no = 0
# Looping Baris
while bar >= 0:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 0:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kanan
kanan = 1
while kanan < (x - (bar-1)):
string = string + " " + str(no) + " "
kanan = kanan + 1
string = string + "\n"
bar = bar - 1
no = no + 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_03.py
4. Membuat sebuah segitiga angka dengan perataan kanan atas.
string = ""
bar = 1
x = int(input("Masukkan angka :"))
no = x
# Looping Baris
while bar <= x:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 1:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kanan
kanan = 0
while kanan <= (x - bar):
string = string + " " + str(no) + " "
kanan = kanan + 1
string = string + "\n"
bar = bar + 1
no = no - 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_04.py
5. Membuat sebuah segitiga angka dengan perataan tengah bawah.
string = ""
x = int(input("Masukkan angka :"))
bar = x
no = 0
# Looping Baris
while bar >= 0:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 0:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kiri
kiri = 1
while kiri < (x - (bar-1)):
string = string + " " + str(no) + " "
kiri = kiri + 1
# Looping Kolom Angka Sisi Kanan
kanan = 1
while kanan < kiri -1:
string = string + " " + str(no) + " "
kanan = kanan + 1
string = string + "\n\n"
bar = bar - 1
no = no + 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_05.py
6. Membuat sebuah segitiga angka dengan perataan tengah atas.
string = ""
bar = 1
x = int(input("Masukkan angka :"))
print ("\n")
no = x
# Looping Baris
while bar <= x:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 1:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kiri
kiri = 0
while kiri <= (x - bar):
string = string + " " + str(no) + " "
kiri = kiri + 1
# Looping Kolom Angka Sisi Kanan
kanan = kiri
while kanan > 1:
string = string + " " + str(no) + " "
kanan = kanan - 1
string = string + "\n\n"
bar = bar + 1
no = no - 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_06.py
7. Membuat sebuah segitiga angka dengan perataan tengah (belah ketupat).
string = ""
x = int(input("Masukkan angka :"))
bar = x
no = 0
# Looping Baris
while bar >= 0:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 0:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kiri
kiri = 1
while kiri < (x - (bar-1)):
string = string + " " + str(no) + " "
kiri = kiri + 1
# Looping Kolom Angka Sisi Kanan
kanan = 1
while kanan < kiri -1:
string = string + " " + str(no) + " "
kanan = kanan + 1
string = string + "\n\n"
bar = bar - 1
no = no + 1
no = no -2
# Looping Baris
bar = 1
while bar <= x:
kol = bar+1
# Looping Kolom Spasi Kosong
while kol > 1:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kiri
kiri = 0
while kiri < (x - bar):
string = string + " " + str(no) + " "
kiri = kiri + 1
# Looping Kolom Angka Sisi Kanan
kanan = kiri
while kanan > 1:
string = string + " " + str(no) + " "
kanan = kanan - 1
string = string + "\n\n"
bar = bar + 1
no = no - 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_07.py
8. Membuat sebuah segitiga angka dengan perataan tengah atas bawah.
string = ""
bar = 1
x = int(input("Masukkan angka :"))
print ("\n")
no = x
# Looping Baris
while bar < x:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 1:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kiri
kiri = 0
while kiri <= (x - bar):
string = string + " " + str(no) + " "
kiri = kiri + 1
# Looping Kolom Angka Sisi Kanan
kanan = kiri
while kanan > 1:
string = string + " " + str(no) + " "
kanan = kanan - 1
if (bar+1) <= x:
string = string + "\n\n"
bar = bar + 1
no = no -1
# Looping Baris
bar = x-1
while bar >= 0:
# Looping Kolom Spasi Kosong
kol = bar
while kol > 0:
string = string + " "
kol = kol - 1
# Looping Kolom Angka Sisi Kiri
kiri = 1
while kiri < (x - (bar-1)):
string = string + " " + str(no) + " "
kiri = kiri + 1
# Looping Kolom Angka Sisi Kanan
kanan = 1
while kanan < kiri -1:
string = string + " " + str(no) + " "
kanan = kanan + 1
string = string + "\n\n"
bar = bar - 1
no = no + 1
print (string)
Maka output setelah di jalankan dengan command : python segitiga_angka_08.py
Dan sekarang kita bisa melihat perbedaan menggunakan bintang atau menggunakan increment/decrement. Dapat disimpulkan bahwa tidak perlu membuat program yang besar untuk belajar algoritma pemrograman serta logika dasar yang kita miliki. Dengan program sederhana pun kita dapat mulai memahami sebuah algoritma. Setelah kita paham, kita coba modifikasinya dari berbagai sisi agar melatih logika berfikir kita lebih dalam. Semoga bermanfaat, Happy Coding!
Level artikel ini adalah advanced.
Dituliskan oleh
Bramanto (bramanto)
pada 7 Agustus 2016 dan telah dibaca sebanyak 53870 kali.
Tag:
Python,
algoritma
Komentar:
septa_chandra
231
38
·
8 tahun, 2 bulan yang lalu
·
0 jempol
string = "" >>> bar = 1 >>> >>> x = int(input("masukam angka :")) masukam angka : 1 >>> #looping baris >>> while bar <= x: kol = bar # looping kolom while kol > 0: string = string + " " + str(no) + " " kol = kol - 1 outputnya : SyntaxError: multiple statements found while compiling a single statement itu setelah saya enter untuk mengetik string = string + "\n"
bramanto
300
1157
penulis
·
8 tahun, 2 bulan yang lalu
·
0 jempol
Hai coder @septa_chandra. Kalau boleh tau, python yang digunakan versi berapa ? Lalu apakah sudah menuliskan sintaks codeNya dengan lengkap ? Disini saya menggunakan python versi 3.6.0.
septa_chandra
231
38
·
8 tahun, 2 bulan yang lalu
·
0 jempol
@bramanto : saya pakai versi yang 3.5.0 mas... untuk penulisan sintaks belum seluruhnya soalnya setelah saya enter malah ada outputnya seperti yang saya ketik d atas...
luttphotowork
96
1
·
8 tahun, 2 bulan yang lalu
·
0 jempol
itu pake aplikasi apa mas @bramanto ?
bramanto
300
1157
penulis
·
8 tahun, 2 bulan yang lalu
·
0 jempol
Hai coder @septa_chandra. Coba mengetikkan codeNya hingga lengkap.Jangan menyerah, terus lanjutkan ^_^ Halo @luttphotowork. Pake python, saya coba run di windows. Bisa diunduh disini https://www.python.org/downloads... Cara menginstallNya bisa lihat disini https://codesaya.com/a/tutorial-... .. Semangat belajarNya ^_^
septa_chandra
231
38
·
8 tahun, 1 bulan yang lalu
·
0 jempol
@bramanto : terima kasih mas,saya baru buka lagi ini web codesaya.com....hehehe
Kagura
169
1
·
8 tahun yang lalu
·
1 jempol
@bramanto : Terima kasih,materi nya membantu.Tapi kalau buat persegi bolong dengan angka namun angkanya teratur.Seperti ini 12345 2 4 3 3 4. 2 54321
Kagura
169
1
·
8 tahun yang lalu
·
0 jempol
12345 2. 4 3. 3 4. 2 54321 tanpa titik
Kagura
169
1
·
8 tahun yang lalu
·
0 jempol
12345 2. 4 3. 3 4. 2 54321 tanpa titik.dan spasinya 3 misal baris 2 jarak antara 2 dan 4 adalah 3
septa_chandra
231
38
·
8 tahun yang lalu
·
0 jempol
@kagura : itu maksudya gimana yah?
saklarrumah
100
1
·
6 tahun, 1 bulan yang lalu
·
0 jempol
baris itu yang mendatar atau kebawah ? maaf saya masih bingung logikanya
bramanto
300
1157
penulis
·
6 tahun, 1 bulan yang lalu
·
0 jempol
Halo @saklarrumah. Untuk baris (vertikal).. sedangkan untuk kolom (horizontal). Semangat belajar logikanya! Pasti kamu bisa!
Khoirul_A
0
0
·
5 tahun, 8 bulan yang lalu
·
0 jempol
Hai coder @septa_chandra materinya sangat mudah dimengerti, tapi apakah ada ouputnya bisa jadi seperti ini? 1 12 123 1234 12345 1234 123 12 1 Dan kalau bisa menggunakan fungsi for
Khoirul_A
0
0
·
5 tahun, 8 bulan yang lalu
·
0 jempol
Maaf salah tag.. @_bramanto_
alexelnino
1
0
·
5 tahun, 7 bulan yang lalu
·
0 jempol
@bramanto : Membuat sebuah segitiga angka dengan perataan kiri bawah itu logika nya gmn sih bang? saya coba pahami tp msh blm bisa mengerti
bramanto
300
1157
penulis
·
5 tahun, 6 bulan yang lalu
·
0 jempol
Halo coder @alexelnino, 1. Kita coba tentukan terlebih dahulu ada berapa kolom/baris yang kita ingin buat sebagai pondasi segitiga. 2. Setelah itu, kita coba melakukan perulangan (secara increment) sebanyak jumlah baris tersebut. 3. Di dalam perulangan tersebut, kita set sebuah nilai kol (yang bersumber dari iterasi baris yang berjalan). 4. Setelah itu, lakukan perulangan(secara decrement) terhadap nilai kol. 5. Untuk mencetak angkanya, kamu cukup tempatkan string di dalam perulangan baris. Semoga dapat dipahami. Semangat belajar!
Artikel Lainnya
Ganis
16 Agustus 2016Undangan CodeSaya Meetup 1.0 Jakarta
CodeSaya akan mengadakan Meetup (kopi darat) di Jakarta pada Sabtu, 17 September 2016! Hayo kita ketemu dengan admin dan sesama anggota CodeSaya, belajar coding dengan mendengarkan pembicara, dan juga menunjukan ...
2 menit bacaan
Bramanto
7 Agustus 2016Tutorial Membuat Segitiga Dengan Python - Versi Bintang
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 ...
13 menit bacaan · advanced
septa_chandra231
38
·
8 tahun, 2 bulan yang lalu
·
0 jempol