Kembali lagi dalam seri tutorial membuat coding dengan pola diamond seperti pada tutorial sebelumnya. Pada pertemuan sebelumnya kita membahas tentang pola diamond menggunakan bahasa pemerograman Java. 

Dan pada pertemuan kali ini kita akan membuat program dengan bahasa pemerograman Python, namun kali ini kita akan membuat dengan sedikit tambahan input dari pengguna sendiri. 

Skenario awal pembuatan akan Saya uraikan sebagai berikut:

1. Pembuatan Variabel 

2. membuat "for" perulangan 

3. membuat pola dua buah pola segi tiga dengan pola segitiga berdiri dan terbalik

Contoh Output

dari codingan yang akan kita buat, saya akan memberikan gambaran dengan contoh output seperti berikut



Pembuatan variabel
skenario awal dalam melakukan logika perulangan, kita akan membuat sebuah variabel input dan variabel jumlah huruf. dari variabel yang akan kita buat dapat dijelaskan sebagai berikuta:
  1. variabel input: merupakan variabel yang berfungsi sebagi input teks dari user agar sistem mendapatkan data string untuk dicetak menjadi sebuah pola. dalam skenario ini saya akan membuat sebuah variabel input teks dengan nama "word"
  2. variabel panjang huruf: merupakan variabel yang akan digunakan untuk menghitung jumlah huruf yang diinputkan oleh pengguna. ketika pengguna memasukan kalimat maka program akan secara otomatis menghitung jumlah huruf yang diinputkan. sehingga program dapat mengetahui berapa jumlah panjang teks yang akan digunakan dalam membetuk sebuah pola diamond. dalam skenario ini saya akan membuat sebuah variabel dengan nama "rows"
berikut coding yang akan kita buat 

word = input('tuliskan teks: ').lower()
rows = len(word)

Dari syntax di atas dapat dijelaskan sebagai berikut:

"word"  merupakan variabel yang digubakan sebagai variabel input dari pengguna

"input" merupakan  parameter yang berfungsi untuk meminta data kepada pengguna untuk digunakan sebagai data membuat sebuah output membentuk pola dengan meminta dalam bentuk kalimat 'tuliskan teks:'.

 "lower()" merupakan fungsi data yang digunakan untuk mencetek huruf dalam bentuk huruf kecil sedangkan uper() merupakan fungsi yang digunakan untuk mencetak huruf kapital

"len(word) adalah perintah yang digunakan untuk mengembalikan jumlah teks ketika diinputkan dari variabel "word"

. "rows" Merupakan variabel jumlah huruf yang akan digunakan sebagai menyimpan data jumlah huruf yang berhasil dihitung oleh parameter "len"

Membuat for (perulangan)

Untuk membuat program membuat pola diamond maka dibutuhkan 2 perulangan dalam Python dimana satu buah segitiga berdiri dan satu buah pola segitiga terbalik. berikut adalah coding perulangan yang akan digunakan

Perulangan segitiga berdiri
for i in range(rows):
        spaces = " " * (rows - i - 1)
        characters = " ".join(word[:i+1])
        print(f"{spaces}{characters}")

Perulangan segitiga terbalik

    for i in range(rows - 2, -1, -1):
        spaces = " " * (rows - i - 1)
        characters = " ".join(word[:i+1])
        print(f"{spaces}{characters}")

Coding Lengkap

berikut adalah Coding lengkap dari seluruh skenario yang akan kita buat

def print_diamond(word, rows):
    n = len(word)
    for i in range(rows):
        spaces = " " * (rows - i - 1)
        characters = " ".join(word[:i+1])
        print(f"{spaces}{characters}")

    for i in range(rows - 2, -1, -1):
        spaces = " " * (rows - i - 1)
        characters = " ".join(word[:i+1])
        print(f"{spaces}{characters}")

word = input('tuliskan teks: ').lower()
rows = len(word)
print_diamond(word, rows)