









Dear Kanjeng Pembaca sekalian,… berikut ini ada soal yang sulit, tidak heran banyak mahasiswa yang ‘kelengeeer’ … banyak faktor dimana memang harus menggunakan teknik yang cukup ‘tinggi’ plus kejelasan dari penjabaran yang soal yang tidak lengkap sehingga perlu mengcompare antara input dan output yang diminta… !!! Berikut soalnya … sooo monggo kita cermati … 😀
Naaagh dari soal itu… sekilas terlihat mudah… namun gak dijelaskan kalau ketemu symbol-symbol dari sisi penyandiannya… apa yang harus dilakukan …??? Pertama terlihat harus memasukkan angka input, dimana dari angka ini… angka ditanyakan lagi n baris untuk menginput berapa baris dan kolom karakter yang akan dicetak …!!! Berikutnya adalah memasukkan integer berapa karakter yang akan dilakukan enkripsi… dan kalimat yang akan dienkripsi… !!! Sebagai contoh… kalimat “but” ingin dienkripsi 2 karakter… so terlihat dari b -> d (karena berikutnya c dan d), kemudian u -> w, dan t -> v … sehingga kata but menjadi dwv …!!! Disini perlu penafsiran dengan melihat input sekaligus membandingkan output … seperti ini hasilnya :
Berikut nya lagi lanjutan dari penjelasan input dan output.. .dapat dilihat pada image berikut, dimana pada intinya ada variable input n, untuk menentukan berapa banyak input yang akan dimasukkan …!!! So disini banyak memainkan array variable plus permainan string dan karakter …!!! Berikut ini tambahan input dan output yang harus dipikirkan pula oleh para developer :
Naaagh setelah melihat dari pemaparan… berikut ini adalah source code nya … !!! Terlihat bahwa kesulitan pertama adalah menginput kalimat yang akan dilakukan penyandian / konversi …!!! Yup, karena kalau default %s saza maka setelah spasi tidak tertangkap kalimatnya … ini tantangan pertama yang dihadapi dalam menyusun program …!!! Oleh sebab itu ada format ” %[^\n]s” pada function scanf() …!!! So ini harus dipastikan dulu kalimatnya masuk… kalau gak masuk percuma deegh bakalan gak ketemu outputnya …!!!
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdbool.h>#include <math.h>int main(){int D, i, j, k, spasi, hitung, hitung2, hitung3, angka;int row[11], col[11], sn[11], v_sn;char m[10][50];char str[50];scanf(“%d”, &D);for (i=0; i <D; i++){scanf(“%d%d”, &row[i], &col[i]);}for (i=0; i <D; i++){scanf(“%d”, &sn[i]);scanf(” %[^\n]s”, m[i]);fflush (stdin);}for (i=0; i <D; i++){v_sn = sn[i];hitung3 = strlen(m[i]);for (j=0; j<hitung3; j++){if(m[i][j] == ‘ ‘){printf(” “);}else{angka = (int) m[i][j];if (angka >= 48 && angka <= 57){angka = angka;}else{angka = (int) m[i][j] + v_sn;if (angka > 122){angka = angka – 26;}}printf(“%c”,angka);}}printf(“\n”);}for (i=0; i <D; i++){hitung = row[i];spasi = 2;for (j=1; j<= hitung; j++){hitung2 = col[i];for (k=1; k<= hitung2; k++){if(spasi == k){printf(” “);}else{printf(“*”);}}printf(“\n”);spasi++;}printf(“\n”);}}
Leave a Reply