Jawaban Uas Ptib 2 0910

Oleh Firmansyah Triatmojo

12 tayangan
Bagikan artikel

Transkrip Jawaban Uas Ptib 2 0910

UJIAN AKHIR SEMESTER - Semester 2 tahun akademik
2009/2010
KU-1072 Pengenalan Teknologi Informasi – B
Hari/tanggal
Fakultas
Waktu
Sifat

: Senin / 17 Mei 2010
: FMIPA, FTTM, dan FTMD
: 2 Jam (120 menit)
: Tutup Buku

Perhatian !! Selama ujian :
 HP harap dimatikan.
 Tidak melakukan kerjasama dalam menjawab soal ujian. Bila diketahui
ada yang melakukan hal ini, maka semua yang terlibat akan mendapat nilai
Nol. Sanksi akademik lain akan diterapkan sesuai aturan.

1. Jelaskan arti dari pernyataan-pernyataan di bawah ini? Jelaskan dengan menggunakan
terminologi/istilah standar dalam bahasa pemrograman!
a. char c; -> mendeklarasikan variable dengan nama variabel ”c” sebagai tipe data
karakter.
char d = ’h’; -> mendeklarasikan variabel dengan nama variabel ”d” sebagai tipe
data karakter dan dinisialisasi dengan nilai (value) ”h”.
char ip[5] = ”Ayak”; -> mendeklarasikan variabel dengan nama variabel ”ip”
sebagai tipe data karakter array (string) dengan jumlah elemen data sebanyak 5
dan dinisialisasi dengan nilai (value) ”Ayak”.
int himpun [ ][2] = {{12, 77}, {1, 20}, {31, 8} } ; -> mendeklarasikan variabel
dengan nama ”himpun” sebagai tipe data intejer array dengan ukuran baris kolom
sebanyak 3 x 3, dan diinisialisasi dengan nilai (value) {{12, 77}, {1, 20}, {31,
8} };
b. #define BANYAK 100;
Mendeklarasikan sebuah konstanta bernama ”BANYAK” yang mempunyai nilai
”100” dengan perintah #define (preprocessor directive).
int pektor[BANYAK];
mendeklarasikan variabel dengan nama variabel ”pektor” sebagai tipe array
intejer dengan banyaknya elemen array sebanyak konstanta ”BANYAK” (100);
c. float x = 0.5;
mendeklarasikan variabel dengan nama variabel ”x” sebagai tipe data float dan
diinisialisasi dengan nilai (value) ”0.5”.
bool ok;
1/6

mendeklarasikan variabel dengan nama variabel ”ok” sebagai tipe data boolean
bool test(float s);
mendeklarasikan suatu fungsi dengan nama ”test” yang membutuhkan parameter
input berupa variabel/nilai float dan mengembalikan nilai berupa nilai boolean.
ok = test(x);
pemanggilan fungsi ”test” dengan input berupa nilai yang tersimpan dalam
variabel ”x” (dalam hal ini berharga ”0.5), dan hasil proses fungsi (nilai
pengembalian/ return value) disimpan dalam variabel boolean ”ok”
d. int isi[] = {0, 1, 2, 3, 4};
mendeklarasi variabel dengan nama ”isi” sebagai tipe data intejer array dengan
elemen sebanyak 5 buah, dan diinisialisasi dengan nilai (value) {0, 1, 2, 3, 4}
pungsisatu(isi);
pemanggilan fungsi ” pungsisatu” dengan parameter input berupa pointer (alamat
memory) dari variabel array ”isi”.
pungsidua(isi[3]);
pemanggilan fungsi ” pungsidua” dengan parameter input berupa nilai dari
elemen indeks ke 3 variabel array ”isi” (dalam hal ini bernilai (value) angka ”3”).

2/6

2. Apakah hasil dari kode program berikut dan arti dari setiap baris perintah yang
diberikan dalam C++ berikut:
#include
using namespace std;
int main ()
{
const int n = 10;
int x[n] = {5, 7, 9, 4, 5, 6, 4, 6, 10, 9};
int total = 0;
for (int i=5; i < n; i++)
total += x[i];
cout<<"Keluaran total = "<";
cout<< "Elemen ke 1 = "<< x[1]<<"
";
return 0;
}
Jawaban:
Hasil kode program adalah:
Keluaran total = 35
Elemen ke 1 = 7
Uraian kode program:
#include // pemanggilan header iostream untuk digunakan kompiler
using namespace std; // perintah penggunaan header standar
int main () // pemanggilan fungsi main
{
const int n = 10; // deklarasi variabel n berjenis bulat dan konstan serta diberi nilai 10
int x[n] = {5, 7, 9, 4, 5, 6, 4, 6, 10, 9}; // deklarasi variable 1 dimensi dan memberi nilai
awal
int total = 0; // deklarasi total berjenis bulat dan diberi nilai nol
for (int i=5; i < n; i++) // deklarasi i berjenis bulat, looping mulai dari i = 5 sampai dengan
nilai kurang dari n
total += x[i]; // tambahkan nilai array pada variabel total
cout<<"Keluaran total = "<"; // tampilkan hasil total
cout<< "Elemen ke 1 = "<< x[1]<<"
"; // tampilkan elemen x[1]
return 0; kembalikan nilai nol pada fungsi main
}

3/6

3. Perhatikan program berikut ini :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.

#include
#include
using namespace std;
int main() {
ofstream VarTulis;
char Teks[80];
VarTulis.open("COBA.TXT");
strcpy(Teks, "Hari Ini Saya Sedang Ujian PTI-B");
VarTulis.write(Teks, 21);
cout << Teks;
strcpy(Teks,"Makan Bakso Enak");
VarTulis.write(Teks, 11);
cout << Teks;
VarTulis.close();
return 0;
}

a. Tuliskan output dari program diatas, baik pada file COBA.TXT maupun pada
monitor, dan jelaskan bagaimana prosesnya .
b. Jika baris no 13 dihilangkan, tuliskan output dari program ini.
Jawaban
a. pada
Hari
pada
Hari

:
file COBA.TXT :
Ini Saya Sedang Makan Bakso
monitor
:
Ini Saya Sedang Ujian PTI-BMakan Bakso Enak

b. pada file COBA.TXT

:

Hari Ini Saya Sedang Hari Ini Sa
pada monitor
:
Hari Ini Saya Sedang Ujian PTI-BHari Ini Saya Sedang Ujian PTI-B

4/6

4. Ubahlah penggunaan FOR pada program di bawah ini dengan WHILE :
#include
int main( ) {
cout<<"PENGULANGAN MENAIK"<for (C=0; C<10; C++) {
cout<}
return 0;
}
Jawaban :
#include
int main( ) {
cout<<"PENGULANGAN MENAIK"<C=0;
while (C<10) {
cout<C++
}
return 0;
}

5. Buatlah flowchart dan program dari algoritma berikut ini :
Pendefinisian masalah :
Masukan : bilangan bulat positif m dan n , m > n
Keluaran : bilangan pembagi bersama terbesar ( pbt )
Algoritma : 1. bagilah m dengan n  sebut sisanya adalah s
2. jika s = 0 , maka pbt = n , selesai
jika s ≠ 0 , maka lanjutkan ke langkah no.3
3. ganti nilai m dengan nilai n, ganti nilai n dengan nilai s
4. ulangi langkah no.1

5/6

Flowchart :

Mulai

S=0

Input M,N

ya

Tulis N

ya

M=N

S=M % N

Selesai

tidak

M=N
N=S

tidak
M
ya

T=M
M=N
N=T

tidak
Program :
#include
int main( ) {
int M,N,T,S;
baris10:
cout<<”Bilangan pertama : ”; cin>>M;
cout<<”Bilangan kedua : ”; cin>>N;
if (M==N)
goto baris10;
if (MT=M;
bagian ini tidak harus ada !
M=N;
(demikian juga pada flowchart)
N=T;
}
baris 20:
S=M%N;
if (S==0){
cout<<”Bilangan Pembagi Bersama Terbesar adalah “<goto baris30;
}
goto baris20;
baris30:
return 0;
}

======== Selamat bekerja =======

6/6

Judul: Jawaban Uas Ptib 2 0910

Oleh: Firmansyah Triatmojo


Ikuti kami