Program membalikkan huruf dengan C++

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:



Kekurangannya: 
Program gak bisa baca inputan setelah spasi

See you in next post ;)

2 comments

  1. cinta>>let; ganti menjadi

    cin.getline(let,100)

    ReplyDelete
  2. kalau misal inputan = saya murid
    terus output nya = ayas dirum

    itu gmn scriptnya gan ? 🙏🏻

    ReplyDelete

Bagi kalian yang baca atau gak sengaja ke blog ini, harap komentarnya agar blog ini bisa lebih baik lagi.
Every feedback would be very appreciated :)