Anda di halaman 1dari 17

TUGAS DASAR PEMROGRAMAN

SESI KE-6
Nama : Sa’durrizal Akmal
NIM : 20200040111
Kelas : TI20E

Contoh

1. Contoh #1
 Source Code
#include <stdio.h>
int main() {
char ch1 = 'I';
char ch2 = 3;
char ch3 = ch1 + 12;
printf("%c - %d\n", ch1, ch1);
printf("%c - %d\n", ch2, ch2);
printf("%c - %d\n", ch3, ch3);
return 0;
}
 Penjelasan

Output dari program ini akan menghasilkan tulisan I U dengan nilai ch1= ‘I’ yaitu
73, ch2=3 akan menghasilkan karakter , tetapi pas dijalankan tidak muncul dan
ch3=adalah hasil tambah antara ch1=12 jadi 85, sedangkan angka 85 akan menghasilkan
huruf ‘U’. Dari catatan dibawah dapat disimpulkan kenapa nilai ‘I’ adalah 73, karena
nilai ‘A’ adalah 65 (A=65, B=66, ……………….. I=67). Adapun untuk nilai tidak
berbentuk karakter adalah karena nilai char tersebut sudah ditentukan valuenya
demikian, contoh jika ch2 diganti nilainya menjadi 2 maka akan menghasilkan karakter
☻.

2. Contoh #2
 Source Code

#include <stdio.h>
int main(){
int i;
char c = 65;
//char c = 'A';
//variable char juga dapat
//dimanipulasi seperti integer
for(i=0; i<26; i++)
printf("%c",
c++);
}
 Penjelasan
Karena char c = 65 dan dalam komentar diberikan keterangan bahwa c = A = 65 lalu
selanjutnya ada perintah for (i=0; i<26; i++) maka output dari program tersebut adalah
karakter dalam bentuk huruf ABCDEFGHIJKLMNOPQRSTUVWXY sampai dengan Z
(26).

3. Contoh #3
 Source Code

#include <stdio.h>
int main() {
char tab1='\x9';
char tab2='\t';
char line='\n'; printf("a%cb
%c", tab1, line); printf("a%cb
%c", tab2, line); printf("%d -
%d\n", tab1, tab2); return 0;
}

 Penjelasan
Pada program ini akan mencetak dua buah table yaitu table 1 dan table 2.
LATIHAN
1. Latihan #1
 Source Code
#include <iostream>
using namespace std;

int main() {
int A = -1; //false
int B = -1; //false
int C = 1; //true
int D = 1; //true
int E = 0; //false
int F = 0; //false

printf("%d\n", A && B || C && D || E && F);


printf("%d\n", A || B && C || D && E || F);
printf("%d\n", ((A || B) || (C || D) && E) && F);
printf("%d\n", (A && B) && ((C || D) && E) && F);
printf("%d\n", (A && B) || ((C || D) || E) || F);

printf("A && B = %d\n", true); // logika DAN


printf("A || B = %d\n", true); // logika ATAU
return 0;
}
 Penjelasan
Program ini akan mencetak sebuah pernyataan dari logika-logika yang sudah disediakan,
dengan catatan nilai untuk a dan b bernilai -1, c dan d bernilai 1, serta e dan f bernilai 0.
Jika di ibaratkan sebuah pernyataan maka;
-1 = false,
1 = true, dan 0
= false,
maka hasil dari eksekusi peryataan tersebut adalaH

NO Pernyataan Bukti Pernyataan


1 A && B || C && D || E && F; True
2 A || B && C || D && E || F; True
3 ((A || B) || (C || D) || E) && F False
4 (A && B) && ((C || D) && E) && F; False
5 (A && B) || ((C || D) || E) || F; True

2. Latihan #2
 Source Code
#include <stdio.h>
int main(){
int e,p,g; e = 10;
p = --e;
g = p+e;
printf("%d %d %d", e++, ++p, g +=12);
return 0;
}
 Penjelasan
Program akan mencetak angka 9, 10 dan 30 (Cukup jelas)

3. Latihan #3
 Source Code

#include <iostream>
int main() {
int e, p, g;
e = -10; p = 20; g = -12;
if (e++ > (p += --g))
g += 3;
else
p %= 5;
e = p + g;
return 0;
}
 Penjelasan
Program ini memuat source code dengan nilai tidak terdefinisikan

4. Latihan #4
 Source Code

#include <iostream>

int main() {
int x;
if (x >= 5 && x < 10);
printf("%d", ++x);
x *= 2;
}
 Penjelasan
Output dari program ini adalah mencari nilai perbandingan antara program yang satu
dengan program yang lainnya. Adapun untuk hasil dari potongan program tersebut adalah
1, dengan perbandingan;

Potongan Program Hasil Ket.


A printf(“%d”, x-- ? ++x : (5 <= x < 10)); x = x * 2; 0 Tidak setara
B printf(“%d”, (x >= 5 && x < 10) ? (x+1):(x–1)); x 1 Setara
*= 2;
C printf(“%d”, (x < 5 || x >= 10) ? ++x : x--); x += x; 0 Tidak setara
D printf(“%d”, x-- ? ++x : (x < 5 || x >= 10)); x *= 2; 1 Setara
E printf(“%d”, (x <= 5 || x > 10) ? ++x : x--); x += x; 0 Tidak setara

 Bukti gambar A :
 Bukti gambar B :
 Bukti gambar C :

 Bukti gambar D :
 Bukti gambar E:

5. Latihan #5

 Source Code
#include <stdio.h>
int main() {
int x,y;
for y=x%2>0;
if (!y);
printf ("Algor\n");
return 0;
}
 Penjelasan

Pernyataan KET
A Teks ‘Algor’ akan dicetak untuk sembarang nilai x. Salah
B Teks ‘Algor’ tidak akan pernah tercetak jika x bilangan ganjil. Salah
C Teks ‘Algor’ akan dicetak jika x bilangan ganjil. Salah
D Teks ‘Algor’ tidak akan pernah tercetak untuk sembarang x. Salah
E Program tidak dapat di-compile karena kesalahan sintaks. Benar

Dikarenakan kesalahan pada sintaks program, maka point dari A sampai D tidak bisa
diketahui kebenarannya karena tidak bisa di compile. Jika program tersebut bisa di
compile maka kebenaran dari point A sampai D bisa diketahui.

6. Latihan #6
 Source Code
#include <iostream>
using namespace std;

int main() {
int harga;

cout <<"Masukan harga : ";


cin >>harga;
if (harga >= 8000){
cout << "Apel";
}else if (harga >= 5000){
cout << "Mangga";
}else{
cout <<"Jeruk";
}
if(harga > 3000){
cout <<"Pisang";
}else {
cout <<"Wortel";
}
return 0;
}

 Penjelasan
Jadi agar program tersebut dapat mencetak “JerukPisang” maka rentang nilai yang harus
diberikan adalah antara >3000 dan <5000.

7. Latihan #7
 Source Code

#include <iostream>
using namespace std;

int main() {
int rose=-3, jasmine=3, lily=2;
int order;

if (rose=5)
if (!jasmine)
order=1;
else order=2;
else
if (lily==4)
order=3;
else order=4;
printf("%d\n", order);
return 0;
}

 Penjelasan
Program ini akan mencetak output dari bunga yang telah di order yaitu adalah 2. Apabila
rose = -3, Jasmine = 3, dan Lily =2.

8. Latihan #8
 Source Code
#include<iostream>
using namespace std;

int main() {
int n = 10;
switch(n--%5) {
case 2: printf("A"); break;
case 5: printf("B"); break;
case 4: printf("C"); break;
default:printf("D"); break;
}
}
 Penjelasan
Cukup jelas, output dari program tersebut akan mencetak pilihan A, B, C atau D. tetapi
dalam source code tersebut yang menjadi default untuk dicetak adalah D, oleh karena itu
hasil yang dicetak adalah D.

9. Latihan #9

 Source Code
#include <stdio.h>
int main(){
int m = 0, u, s;
scanf("%d %d", &u, &s);
while (u){
u -= s;
m++;
}
printf("%d",m);
return 0;
}
 Penjelasan
Output dari program tersebut ketika diberi input dengan angka 60 dan 5 akan
mengeluarkan hasil yaitu 12. Atau nilai m adalah 12, ketika diketahui nilai u = 60 dan s =
5.

10. Latihan #10


 Source Code

#include <stdio.h>
int main(){
int i, j, x = 1;
for (i = 1; i < 5; i++) { for
(j = 1; j <= x; j++)
printf("%d",
x); x += i;
}
return 0;
}
 Penjelasan
Ketika program tersebut diberi input dengan angka 2 dan 10, program akan mencetak
angka 1 (sebanyak 1 kali), angka 2 (sebanyak 2 kali), angka 4 (sebanyak 4 kali), dan
angka 7 (sebanyak 7 kali). ( Seharusnya Program yang saya ketik itu harus di input
dulu angka 2 dan 10 nya tapi ini mah langsung mengeluarkan angka hasil nya ).
Jadi jika I = 2, j = 10, maka output dari nilai x adalah
12244447777777. Karena untuk i = 1; i < 5; i++) dan untuk (j = 1; j <= x; j++).

Anda mungkin juga menyukai