Halo
guys ketemu lagi sama gw di post terbaru ini. Yah udah hampir seminggu sejak
post terakhir gw. Gw sedang mencoba konsisten dan semangat untuk menulis di
blog ini, pengennya 1 post/2 hari. Tapi untuk kali ini belum kesampean. Semoga
kedepannya gw bisa lebih baik lagi. Keep fighting!
Kali ini gw mau bahas program sederhana pake
bahasa C++. Seperti yang gw bilang di post pertama, gw akan ngepost random (apa
aja). Kemarin sedikit ngereview game, kali ini tentang program. Jadi gw udah
buat suatu program yang fungsinya membalikkan huruf-huruf yang kita input.
Misal diinput: newbie4real, maka outputnya: laer4eibwen. Gampang kan? Tapi ada
kekurangannya nih, yaitu program ini gak bisa membalikkan kata sesudah spasi
(kalau pake spasi). Jadi kalau inputnya: newbie
real, maka outputnya hanya eibwen aja. Gw belum cari solusinya gimana. Setahu
gw biar program bisa baca inputan setelah spasi itu pake getline. Udah gw
coba malah programnya gak bisa di-run (error). So, langsung aja liat programnya
di bawah yah.
-----------------------------------------------------------------------
#include<iostream>
#include<string.h>
#include<iomanip>
using namespace std;
int main(){
int
i,n,p;
char
let[100];
cout<<"Input
kata : "; cin>>let;
cout<<"Terbalik : ";
n=strlen(let);
for(i=n-1;
i>=0; i--){
cout<<let[i];
}
}
-----------------------------------------------------------------------
Logikanya:
kalau kita pengen membalikkan suatu huruf dari kata, maka kita harus membuat
agar masing-masing huruf dari suatu kata tersebut memiliki masing-masing indeks
array. Jadi seperti kata ‘newbie’ kita harus buat agar huruf n berada pada
indeks ke-0, huruf e pada indeks ke-1, dan seterusnya. Untuk masalah ini gak
susah, kita tinggal pake tipe data char dan jangan lupa untuk menambahkan
kapasitas array-nya. Karena tipe data char membaca inputan per karakter. Dan
karena proses membalikkan huruf ini berulang-ulang, kita wajib pake perulangan
(disini pake for) untuk menghemat penulisan kode programnya. Sebelum masuk ke perulangan,
kata yang diinput harus dibaca dulu berapa panjang karakternya. Untuk melakukan
ini kita bisa pake strlen. Setelah dapet, baru deh ditulis perulangannya. Ada
yang tahu kenapa perulangannya menurun (mundur)? Ingat, kita kan pengen
membalikkan hurufnya (akhir ke awal) jadi kita perlu menampilkan huruf dari
indeks terakhir dulu baru kemudian diakhiri dengan huruf dari indeks pertama.
Tapi kenapa batas awalnya n-1, bukan n? Jadi kalau ada yang belum tahu, indeks
array selalu mulai dari 0. Maka kalau panjang karakternya adalah 4, indeks terakhir hurufnya adalah 3 bukan 4. Karena dimulai dari 0: 0-1-2-3.
Jadi,
apakah penjelasan gw diatas bisa dimengerti? :D
Ini screenshot hasil run programnya:See you in next post ;)
cinta>>let; ganti menjadi
ReplyDeletecin.getline(let,100)
kalau misal inputan = saya murid
ReplyDeleteterus output nya = ayas dirum
itu gmn scriptnya gan ? 🙏🏻