
Logika program:
Variable a bertipe String bernilai “gunadarma”, agar bisa mencetak gunadarma secara berulang-ulang, digunakan statement perulangan for..in range,
len(a) adalah perintah untuk mengitung jumlah index yang ada pada tipe data string, sehingga nilai I sesuai dengan panjang String dari varialel a, maka dari pernyataan tersebut, perlulangan for dilakukan sebanyak panjang index dari variable a yang bertipe string.
For I in range (len(a):
Print (a[i:-1])
Secara lengkap, perintah tersebut berarti selama nilai I tidak sama dengan panjang index a, maka akan mencetak a[i:-1].
Untuk mengetahui niali I dari len(a) kita bisa menggunakan statement;


Berarti;
Pada i=0; maka print (a[0:-1)
Jika menggunakan statement diatas maka pada variable a diatambahkan (spasi) pada akhir kata gunadarma, karena jika kita menggunakan -1 harus ditambahkan index pembatas yaitu (spasi). Dari gambar diatas juga dapat ditentukan panjang len(a) =10. Maka indexnya;
G U N A D A R M A (spasi)
[0] [1] [2] [3] [4] [5] [6] [7] [-1] [pmbatas]
Maka, jika nilai;
i=0, maka print (a[0:-1]) akan mencetak gunadarma
i=1, maka print (a[1:-1]) akan mencetak unadarma
i=2, maka print (a[2:-1]) akan mencetak nadarma
i=3, maka print (a[3:-1]) akan mencetak adarma
i=4, maka print (a[4:-1]) akan mencetak darma
i=5, maka print (a[5:-1]) akan mencetak arma
i=6, maka print (a[6:-1]) akan mencetak rma
i=7, maka print (a[7:-1]) akan mencetak ma
i=8, maka print (a[8:-1]) akan mencetak a
i=9, maka print (a[9:-1]) akan mencetak spasi
i=10, tidak akan mencetak apa-apa, karena i=len(a), program akan berhenti karena kondisi telah terpenuhi
cara yang kedua, untuk menghasilkan output seperti itu adalah dengan mengubah statement print yang ada, jika pada program diatas print a[i:-1], pada cara yang kedua ini kita akan menggunakan print a[i:], karena i: akan mencetak index yang dimulai dengan index ke-i sampai ke index akhir.
For I in range (len(a):
Print (a[i:])

Jika menggunakan statement diatas maka, pada string gunadarma tidak perlu ditambahkan spasi karena kita tidak menggunakan index negative.
Seperti yang kita ketahui pada percobaan kedua nilai len(a)=9 maka pada I ke- 9 program akan berhenti mencetak. Pada percobaan ini juga berlaku index seperti dibawah ini.
G U N A D A R M A
[0] [1] [2] [3] [4] [5] [6] [7] [8]
Maka jika nilai;
i=0, maka print (a[0: ]) akan mencetak gunadarma
i=1, maka print (a[1: ]) akan mencetak unadarma
i=2, maka print (a[2: ]) akan mencetak nadarma
i=3, maka print (a[3: ]) akan mencetak adarma
i=4, maka print (a[4: ]) akan mencetak darma
i=5, maka print (a[5: ]) akan mencetak arma
i=6, maka print (a[6: ]) akan mencetak rma
i=7, maka print (a[7: ]) akan mencetak ma
i=8, maka print (a[8: ]) akan mencetak a
i=9, tidak akan mencetak apa-apa, karena i=len(a), program akan berhenti karena kondisi telah terpenuhi.
Maka jika outputnya dibandingkan dengan percobaan pertama

Dari gambar diatas, dapat disimpulkan jika kita memakai percobaan 1 maka harus ditambahkan spasi pada akhir kata gunadama, pada output juga ikut tercetak spasinya, tetapi jika kita tidak menggunakan spasi maka huruf a tidak akan tercetak karena tidak ditambahkan pembatas.
Kemudian jika kita menggunakan percobaaan 2, kita tidak perlu menambahkan spasi pada akhir kata gunadarma, disini tidak perlu menggunakan sapasi karena kita menggunakan print(a[i:]) artinya kita akan mencetak index i, sesudah titik dua dikosongkan berarti akan mencetak index ke i sampai ke index terakhir. pada output juga sesuiai dengan yang diminta.
Dari kedua percobaan diatas maka dapat ditarik kesimpulan bahwa percobaan kedua lebih tepat untuk digunakan karena listingnya lebih pendek dari percobaan pertama selain itu outputnya juga sesuai dengan yang diminta.
Cara lainnya adalah dengan mengubah statement print yang ada, karena kita sudah mengetahui panjang len a = 9, maka pada statement print dapat diubah menjadi print a[i:9], secara lengkap listingnya adalah:

Maka, jika nilai:
i=0, maka print (a[0: 9]) akan mencetak index ke 0 sampai ke 9 = gunadarma
i=1, maka print (a[1: 9]) akan mencetak index ke 1 samapi ke 9 = unadarma
i=2, maka print (a[2: 9]) akan mencetak index ke 2 sampai ke 9 = nadarma
i=3, maka print (a[3: 9]) akan mencetak index ke 3 sampai ke 9 = adarma
i=4, maka print (a[4: 9]) akan mencetak index ke 4 sampai ke 9 = darma
i=5, maka print (a[5: 9]) akan mencetak index ke 5 sampai ke 9 = arma
i=6, maka print (a[6: 9]) akan mencetak index ke 6 sampai ke 9 = rma
i=7, maka print (a[7: 9]) akan mencetak index ke 7 sampai ke 9 = ma
i=8, maka print (a[8: 9]) akan mencetak index ke 8 sampai ke 9 = a
i=9, karena statement for sudah terpenuhi kondisinya program akan berhenti..
Output:



No comments :
Post a Comment