Anda di halaman 1dari 9

2 Soal Short Answer

4 Soal Snippet
Henry Chong
Sky.henry@live.com
D4460

Short Answer

Soal:
1. Menggunakan printf dan escape sequence, untuk memindahkan kursor mundur 1
dari posisi saat ini digunakan escape sequence…?
2. Header standard yang dibutuhkan untuk menggunakan fungsi system..?

Jawaban:
1. \b
2. stdlib.h
Snippet A – The Odd Caesar Encryption

Case:
Badu, adalah seorang programmer advance security system di Bina Nusantara. Untuk
mengamankan sistemnya dari serangan hacker international, Badu diminta untuk
membuat enkripsi sederhana yang cara kerjanya dapat dimengerti dengan mudah oleh
mahasiswa, bahkan dapat dibuat sendiri oleh mahasiswanya. Sebagai Badu,
Anda diminta untuk membuat program dengan syarat sebagai berikut:
1. User harus meminta inputan username dengan panjang 1..25.
2. User harus meminta shifter untuk penggeseran password 1..3
3. Hanya posisi genap yang di shift asciinya. (karakter ke-2,ke-4,ke-6,dst.)
4. Angka tidak mengalami shift dalam keadaan apapun.
5. Jika huruf kecil, maka hasil shifter huruf kecil, jika huruf besar, maka hasil shifter
huruf besar (ingat, hanya huruf!).
6. Shifter sesuai inputan user, A shifter 3 = D, A shifter 2 = C, a shifter 1 = b, dst..
7. Password hasil adalah sebagai berikut

Cases:

Case 1 : aaAAzzZZ0099 1
Case 2 : aazzAAZZ0099 3
Case 3 : y00m4k0u35kx 1

Cases:
Username [1..25]: aaAAzzZZ0099
Shifter [1..5]: 1
Generated Password: abABzaZA0099

Username [1..25]: aazzAAZZ0099


Shifter [1..5]: 3
Generated Password: adzcADZC0099

Username [1..25]: y00m4k0u35kx


Shifter [1..5]: 1
Generated Password: y00n4l0v35ky
Template Code:
#include <stdio.h>

int main(){
char word[25];
int shifter;
char hasil[25];

do{
printf("Input username [1..25]: ");
gets(word);
}while(strlen(word) < 1 || strlen(word) > 25);

do{
printf("Input shifter [1..5]: ");
scanf("%d",&shifter);
fflush(stdin);
}while(shifter <1 || shifter > 5);

strcpy(hasil,ubahKarakter(word,shifter));

//[1]

printf("Password: %s\n",hasil);
return 0;
}

Answer:
int i;
int length = strlen(word);
for(i=0;i<length;i++){
if(i % 2 != 0){
if(word[i] >= 'A' && word[i] <= 'Z')
word[i]=((((int)word[i])+shifter)> (int)'Z')?
(int)'A'+((((int)word[i])+shifter-1)-(int)'Z'): (((int)word[i])
+shifter);
if(word[i] >= 'a' && word[i] <= 'z')
word[i]=((((int)word[i])+shifter)> (int)'z')?
(int)'a'+((((int)word[i])+shifter-1)-(int)'z'): (((int)word[i])
+shifter);
}
Snippet B – The Triangle of Love

Case:
Cindy sedang jatuh cinta dengan segitiga. Karna cindy cinta programming dan segitiga.
Cindy memutuskan untuk membuat soal “Cinta Segitiga – the triangle of love”. Literaly
Triangle of Love!.

Cases:

Template Code:
#include <stdio.h>

int main(){
int angka;
printf("Masukan tinggi [>3]: ");
while(scanf("%d",&angka)!=EOF){
triangle(angka);
//[1]

fflush(stdin);
printf("Masukan tinggi [>3]: ");
}
}
Answer:
int i,j;
if(angka > 3){
for(i=0;i<=angka;i++){
for(j=0;j<i;j++){
if(j==0 || (j==i-1) || i == angka)
printf("*");
else
printf("%c",3);
}
printf("\n");
}
}
Snippet C – Transpose of Matrix

Case:
I love math. Unnie sangat suka dengan Mathematic khususnya Aljabar. Karna
kecintannya yang begitu mendalam, Unnie membuatkan program Transpose of Matrix
3x3 untuk adik-adik kelasnya:

Sebagai unnie, program diminta untuk menerima inputan 6x yang akan dijadikan matrix.
Program menerima inputan berupa _ _ _ _ _ _ (6 digit integer).

Input:
123456789

Output:
1 2 3 1 4 7
4 5 6 Transpose-> 2 5 8
7 8 9 3 6 9

Input:
10 20 30 60 50 40 70 80 90

10 20 30 10 60 70
60 50 40 Transpose-> 20 50 80
70 80 90 30 40 90

Sample Input, dan output

 output dari 9 inputan digit.


Template Code:

#include <stdio.h>

int main(){
int matrix[3][3];
int i,j,k;

for(i=0;i<3;i++){
for(j=0;j<3;j++){
scanf("%d", &matrix[i][j]);
}
}

printf("\n\n");

//[1]

return 0;
}

Answer:
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%-3d ", matrix[i][j]);
}
if(i==1){
printf("Transpose-> ");
}else{
printf(" ");
}
for(k=0;k<3;k++){
printf("%-3d ",matrix[k][i]);
}
printf("\n");
}
Snippet D – The Vocal Character Eater

Case:
Angry mickey menciptakan sebuah program sederhana. Karna mickey baru belajar
membuat program, dia membuat program Vocal Character Eater

Rule: Program memakan (menghilangkan semua huruf vokal):

Input 1: Lorem ipsum dolor


Input 2: consectetuer adipiscing
Input 3: Fusce est. Vivamus

Answer:
Input Words [1..25]: Lorem ipsum dolor
Lrm psm dlr

Input Words [1..25]: consectetuer adipiscing


cnscttr dpscng

Input Words [1..25]: Fusce est. Vivamus


Fsc st. Vvms

Template Code:

#include <stdio.h>
#include <string.h>

int main(){
char string[25];
int strln;

do{
printf("Input Words [1..25]: ");
gets(string);
}while(strlen(string) < 1 || strlen(string) > 25);

vocalEater(string);
//[1]

return 0;
}
Answer:
int strln,i,j=0;
char newWord[25];
strln = strlen(str);
for(i=0;i<strln;i++){
switch(str[i]){
case 'a': case 'A': case 'i': case 'I':case 'u': case
'U':case 'o': case 'O':case 'e': case 'E':
continue;
default:
newWord[j] = str[i];
j++;
}
}
newWord[j] = '\0';
printf("%s\n",newWord);

Anda mungkin juga menyukai