Membuat Segitiga Bintang Cukup Satu Baris Kode - Python


Dalam belajar membuat sebuah pemrogram komputer, salah satu latihan yang sering digunakan adalah membuat sebuah segitiga dengan simbol bintang. Dalam menyelesaikan permasalaan segitiga bintang biasanya diselesaikan dengan beberapa baris kode. Namun, bagaimana jika permasalahan tersebut ternyata dapat diselesaikan hanya dengan satu baris kode ?? Apakah mungkin ?? Untuk itu kali ini akan membahas penyelesaian permasahan segitiga bintang dengan satu baris kode menggunakan bahasa pemrograman Python.

A. Membuat Segitiga Bintang

Bentuk segitiga yang akan dibuat adalah segitiga siku-siku seperti dibawah ini

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 

Oke langsung saja lihat source code program nya di bawah ini :

N=6; print( '\n'.join( ['* ' * (i+1) for i in range(0, N)] ) )

B. Penjelasan

Source code diatas tidak akan dijelaskan secara detail, silahkan untuk melakukan eksperimen tersendiri. Ada beberapa hal yang harus dipahami dialam source code diatas diantaranya :

1. Perulangan didalam Array

Hal pertama adalah perulangan for yang diimplementasikan kedalam Array ['string' for i in range(0, N)]. Kegunaan perulangan for didalam Array tersebut adalah untuk memasukan nilai 'string' secara berurutan kedalam Array sebanyak (N).

Contoh perintah :

str = ['string' for i in range(0, 4)]
print( str )

Output :

['string', 'string', 'string', 'string']

2. Perintah Join

Kerena output masih dalam berupa Array, maka harus diubah terlebih dahulu menjadi Sring dengan menggunakan fungsi join. Perintahnya seperti ini 'separator'.join( array ). String separator berfungsi untuk pemisah setiap nilai didalam array.

Contoh perintah :

arr = ['string', 'string', 'string', 'string']
print( ' + '.join( arr ) )

Output :

string + string + string + string

3. Operasi Perkalian String dengan Integer

Didalam source code terdapat operasi perkalian String dengan Integer yaitu '* ' * (i+1). Jika String dikalikan dengan Integer maka akan menghasilkan nilai String yang diulangi sebanyak nilai Integer.

Contoh perintah :

str = 'A' * 3
print( str )

Output :

AAA

C. Source Code Segitiga Bintang

Berikut ini source code segitiga yang lain dengan beberapa model yang berbeda, tentunya masih tetep ditulis dalam satu baris kode.

1. Segitiga Siku-Siku

Source Code:

N=6; print( '\n'.join( ['* '*(i+1) for i in range(0, N)] ) )

Output :

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 

2. Segitiga Siku-Siku ( Terbalik )

Source Code:

N=6; print( '\n'.join( ['* '*(N-i) for i in range(0, N)] ) )

Output :

* * * * * * 
* * * * * 
* * * * 
* * * 
* * 
* 

3. Segitiga Siku-Siku

Source Code:

N=6; print( '\n'.join( ['  '*(N-i) + '* '*(i) for i in range(1, N+1)] ) )

Output :

          * 
        * * 
      * * * 
    * * * * 
  * * * * * 
* * * * * * 

4. Segitiga Siku-Siku ( Terbalik )

Source Code:

N=6; print( '\n'.join( ['  '*(i) + '* '*(N-i) for i in range(0, N)] ) )

Output :

* * * * * * 
  * * * * * 
    * * * * 
      * * * 
        * * 
          * 

5. Segitiga Sama Kaki | Piramid

Source Code:

N=6; print( '\n'.join( ['  '*(N-i) + '* '*(i*2-1) for i in range(1, N+1)] ) )

Output :

          * 
        * * * 
      * * * * * 
    * * * * * * * 
  * * * * * * * * * 
* * * * * * * * * * * 

6. Segitiga Sama Kaki | Piramid ( Terbalik )

Source Code:

N=6; print( '\n'.join( ['  '*(i) + '* '*((N-i)*2-1) for i in range(0, N)] ) )

Output :

* * * * * * * * * * * 
  * * * * * * * * * 
    * * * * * * * 
      * * * * * 
        * * * 
          * 

Sekian untuk artikel kali ini semoga bermanfaat dan silahkan untuk melakukan eksperimen sendiri agar lebih mudah memahami algoritma segitiga bintang diatas. Jika ingin request untuk bahasa pemrograman lain, silahkan tulis dikolom komentar.

2 comments:

Powered by Blogger.