• Tidak ada hasil yang ditemukan

TIF 4108 Dasar Pemrograman Komputer. Soal-soal latihan TIF UB -2010

N/A
N/A
Protected

Academic year: 2021

Membagikan "TIF 4108 Dasar Pemrograman Komputer. Soal-soal latihan TIF UB -2010"

Copied!
45
0
0

Teks penuh

(1)

TIF 4108

Dasar Pemrograman

Komputer

Soal-soal latihan TIF UB - 2010

(2)

int x,y,z,w;

x=scanf("%d %d %d",&y,&z,&w);

1. Apa yang terjadi jika pada program diatas

dimasukkan 2 buah nilai integer dari keyboard?

Input - Output

dimasukkan 2 buah nilai integer dari keyboard? 2. Berapa nilai x jika input dari keyboard 3 buah

(3)

char ss1[40]; char ss2[40];

x=scanf(”%s %s”,ss1,ss2);

Input - Output

1. Apa isi variabel ss1 dan ss2, jika dari keyboard diinputkan string ”Selamat Pagi Pak” ?

(4)

char ss[40];

scanf(”%4s”, ss);

1. Apa isi variabel ss, jika dari keyboard diinputkan string

”Selamat Pagi” ?

char ch;

ch = getchar();

Input - Output

ch = getchar();

2. Apa isi variabel ch, jika dari keyboard diinput kan: “TIF-FTUB”

char ch1, ch2;

ch1 = getchar(); //masukkan kata TIF-FTUB!

ch2 = getchar();

3. Apa isi variabel ch1 dan ch2, jika dari keyboard diinputkan :

(5)

 Buatlah program untuk menerima input dari keyboard berupa nilai :  Tugas Kelompok (NTK)  Nilai Kuis (NK)

Input - Output

 Nilai Kuis (NK)

 Nilai UAS (NUAS)

 Hitung dan tampilkan nilai akhir dengan rumus :

(6)

#include <stdio.h> int main() { char nama[40]; int nim; char jk; printf("Nama:"); scanf("%[^\n]",nama); printf("Nim:"); scanf("%d",&nim);

Input Output

printf("Nim:"); scanf("%d",&nim); printf("Jenis Kelamin (L/P):"); jk=getchar(); return 0; }

Perhatikan Program di atas!

Setelah dimasuki nama dan nim dari keyboard, program langsung keluar. Instruksi jk=getchar() seolah-olah tidak pernah

(7)

#include <stdio.h> int main(){

char ss[]="10 % 3 = 1\n";

char str[]="Selamat Datang di Binus\n"; printf(ss);

Input - Output

printf("%s",ss); printf(str); printf("%s",str); return 0; }

(8)

 Jelaskan fungsi/kegunaan dari fungsi-fungsi standar berikut:  sscanf  sprintf  fflush

Input - Output

 fflush  cprintf  cscanf

 Jelaskan maksud dari nama berikut:

 stdin

 stdout

(9)

 Jika semua variabel berikut bertipe integer, maka tentukan nilai A.

B=23; C=12; D=32; E=0;

1. A = B && E;

2. A = B & C;

Operasi Aritmetika & Logika

2. A = B & C; 3. A = C || D; 4. A = B | D; 5. A = B > 2; 6. A = B >> 2; 7. A = C < 3; 8. A = C << 3; 9. A = B = C; 10. A = B == C;

(10)

 Sebutkan contoh operator yang termasuk : 1. Unary Operator

2. Binary Operator 3. Ternary Operator

Operasi Aritmetika & Logika

 Sebutkan beberapa operator yang bisa

berfungsi sebagai unary dan binary operator, dan berikan contohnya.

(11)

#include <stdio.h> int main(){

int x=10, y=6; x *= 5 + y;

y += y &= x;

Operasi Aritmetika & Logika

y += y &= x;

printf(“x = %d\ny = %d",x,y); return(0);

}

Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi ?

(12)

#include <stdio.h> #include <iostream.h> int main () { float x; x = 7/2; printf("x = %f\n",x); x = 7.0/2; printf("x = %f\n",x);

Operasi Aritmetika & Logika

Bagaimanakah hasil keluaran yang ditampilkan di layar monitor dari program di atas? Jelaskan!

x = 7.0/2; printf("x = %f\n",x); x = 7/2.0; printf("x = %f\n",x); x = 7.0/2.0; printf("x = %f\n",x); x = (float)7/2; printf("x = %f\n\n\n",x); system("PAUSE"); return(0); }

(13)

#include <stdio.h> #include <iostream.h> int main () {

int y=33, x=45;

y = y && x; printf("y = %d\n",y); y = y & x; printf("y = %d\n",y); y = y || x; printf("y = %d\n",y);

Operasi Aritmetika & Logika

y = y || x; printf("y = %d\n",y); y = y | x; printf("y = %d\n",y); y &= y = x; printf("y = %d\n",y); y ^= y = x; printf("y = %d\n",y); system("PAUSE");

return(0); }

Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi?

(14)

#include <stdio.h> #include <iostream.h> int main () { int y, n; n =10; y=++n; printf("y = %d\n",y);

Operasi Aritmetika & Logika

printf("y = %d\n",y); n =10; y=n++; printf("y = %d\n",y); n =10; n++; printf("n = %d\n",n); system("PAUSE"); return(0); }

Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi ?

(15)

z = (n > 0) ? f : b;

Perhatikan conditional expression di atas,

bolehkah variabel f dan b memiliki tipe data yang berbeda?

Operasi Aritmetika & Logika

(16)

 Buat program untuk menginput nilai IPK mahasiswa dan memberikan penilaian :  3.5 - 4.0 Cum Laude  3.0 - <3.5 Sangat Memuaskan

Seleksi

 3.0 - <3.5 Sangat Memuaskan  2.5 – <3.0 Memuaskan  2.0 – <2.5 Kurang

 Dibawah 2.0 Sangat Kurang  Gunakan perintah if / if-else !

(17)

Seleksi

 Buatlah program komputer untuk menentukan nilai-huruf dari

sebuah matakuliah, yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus:

• Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas)

Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus:

• Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas) Sedangkan konversi nilai-akhir menjadi nilai huruf

Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut:

Nilai Akhir Bobot Nilai Huruf

85 - 100 4 A : Sangat Baik 75 - <85 3 B : Baik

65 - <75 2 C : Cukup 50 - <65 1 D : Kurang

(18)

 Perhatikan potongan program dibawah ini: if(n > 0) if(a > b) z = a; else

Seleksi

else z = b;

Keyword else berpasangan dengan if yang mana ?

Perbaiki penulisan potongan program di atas agar terbaca jelas algoritmanya!

(19)

 Buat program untuk menampilkan bilangan ganjil dari 11 sampai 188, dengan menggunakan :

 for  while

Pengulangan

 while

(20)

 Diasumsikan hari 1 menyatakan senin, 2 selasa, 3 -rabu,…, 7 – minggu. Buatlah sebuah program untuk menampilkan angka hari sebanyak n yang diinput dari keyboard. Perhatikan pola berikut :

n = 3 1 2 3

Pengulangan

1 2 3 n = 7 1 2 3 4 5 6 7 n = 10 1 2 3 4 5 6 7 1 2 3

(21)

 Buatlah program untuk menampilkan gambar

seperti di bawah ini, dengan n variabel integer yang nilainya didapat dari keyboard input. Gunakan for, while atau do-while.

Pengulangan

* * * * * * * * * * * * * * * n n

(22)

 Buatlah program untuk menampilkan gambar seperti di bawah ini, dengan n variabel integer yang nilainya didapat dari keyboard input. Gunakan for, while atau do-while.

Pengulangan

* * * * * * * * * * * * * * * n n

(23)

for (i=k; i >= n; i--) printf(”TIF-FTUB\n”);

1. Jika k < n, berapa kali kata TIF-FTUB dicetak di layar monitor ?

Pengulangan

layar monitor ?

2. Jika k=n, berapa kali kata TIF-FTUB dicetak di layar monitor ?

3. Jika k > n, berapa kali kata TIF-FTUB dicetak di layar monitor ?

(24)

 Dapatkah infinite/forever loop ditulis menggunakan

for, while, dan do-while? Ilustrasikan.

 Jika p = pernyataan dan e = ekspresi, ubahlah loop

for berikut menjadi loop while.

Pengulangan

for berikut menjadi loop while.

a. for(; e ;) p; b. for(; ; e) p;

(25)

 Bandingkan dua buah sintaks for berikut ini :

for (i=0, j=1; i<8; i++, j++) printf("%d + %d = %d\n", i, j, i+j);

Pengulangan

Jelaskan output dan perbedaan dua potongan program di atas!

(26)

#include <stdio.h> int main()

{

APA OUTPUT PROGRAM BERIKUT ??

Awas! Ada titik koma

Pengulangan

{ int x,y; for(x=1;x<=3;x++) for (y=3;y>=1;y--) printf("%d %d ",x,y); return 0; } #include <stdio.h> int main() { int x,y; for(x=1;x<=3;x++); for (y=3;y>=1;y--) printf("%d %d ",x,y); return 0; }

(27)

#include <stdio.h> int main()

APA OUTPUT PROGRAM BERIKUT ??

Awas! Ada titik koma

Pengulangan

{ int x,y; for(x=1;x<=3;x++) for (y=3;y>=1;y--); printf("%d %d ",x,y); return 0; } #include <stdio.h> int main() { int x,y; for (x=1;x<=3;x++); for (y=3;y>=1;y--); printf("%d %d ",x,y); return 0;

(28)

Jelaskan output program berikut ini :

#include <stdio.h> int main(){

int nilai = 0, jumlah = 0;

Pengulangan

int nilai = 0, jumlah = 0; while(nilai < 10){ jumlah += nilai; printf(”\nNilai =%d, Jumlah =%d”, nilai++, jumlah); } return 0; }

(29)

 Jelaskan output program berikut ini : #include<stdio.h> int main() { long bil, tmp, x=1;

Pengulangan

long bil, tmp, x=1;

printf(”\nInput bil:”); scanf(”%d”, &bil); tmp=bil;

while(bil >= 1) x*=bil--;

printf(”\n%ld ! = %ld”,tmp, x); return 0;

(30)

int x;

for(x=0 ; x<10 ; x++) printf("Hello\n");

 Berapa kali kata Hello dicetak di layar monitor oleh setiap potongan program di bawah ini?

int x=0; for( ; ; ){ if(x<10)

Pengulangan

int x=0; for(; x<10; x++) printf("Hello\n"); int x=0; for( ; ; x++){ if(x<10) printf("Hello\n"); else break; } if(x<10) printf("Hello\n"); else break; x++; }

(31)

Apa output dari program di bawah ini?

#include <stdio.h> int main(){

int x,y,z;

for (x=0; x<4; x++){

for (y=0; y<3; y++){

for (z=0; z<3; z++){

Pengulangan

for (y=0; y<3; y++){

for (z=0; z<3; z++){ if (z==2) break; } printf("Selamat\n"); } printf("Datang\n"); } printf("di TIF-FTUB\n"); getch(); return(0); }

(32)

 Buatlah program untuk

 mengambil 10 bilangan integer dari keyboard dan menyimpannya dalam array,

 mencari bilangan terbesar dalam array tersebut

 mencari bilangan terkecil dalam array tersebut

 menghitung nilai rata-rata dari isi array tersebut

 menampilkan hasil setiap pencarian dan perhitungan di

Pointer, Array, String

 menampilkan hasil setiap pencarian dan perhitungan di atas pada layar monitor

 Buatlah program untuk:

 mengambil string dari keyboard

 membalik susunan karakter dalam string tersebut

 menampilkan string yang sudah dibalik ke layar monitor Contoh: string yang diinputkan : KASUR

(33)

 Buat program untuk menjumlahkan 2 matriks dibawah ini. Gunakan Array dimensi 2

Pointer, Array, String

• Buat program untuk mengalikan 2 matriks dibawah ini. Gunakan Array dimensi 2

(34)

Pointer, Array, String

Perhatikan definisi array dibawah ini sbb:

int a[3][4]={1, 3, 2, 4, 5, 7, 6, 8, 9,11, 12 }; int b[3][3]={{1, 2}, {3, 4, 5} ,{ 7 }};

Berapa nilai dari :

1. a[1][1]

2. b[2][2]

3. a[2][3]

4. b[0][1]

(35)

1.

Perhatikan dua pernyataan di bawah ini:

char str[] = ”Selamat Datang di UB”; char *str = ”Selamat Datang di UB”;

Jelaskan perbedaan kedua identifier str tersebut

Pointer, Array, String

Jelaskan perbedaan kedua identifier str tersebut diatas !

2.

Perhatikan dua pernyataan di bawah ini:

char *name[] = {”Ali”,”Ani”,”Tono”};

char name[][10] = {”Ali”,”Ani”,”Tono”};

Jelaskan perbedaan kedua identifier name tersebut diatas !

(36)



Jelaskan dengan memberikan contoh program

sederhana, fungsi / cara kerja dari library function

yang ada di <string.h> berikut:

 strchr(char *s, int c);

Pointer, Array, String

 strchr(char *s, int c);

 strrchr(char *s, int c);

(37)



Jelaskan beberapa fungsi di <ctype.h>,

berikut:

 isalpha(int c);

 isupper(int c);

 islower(int c);

Pointer, Array, String

 islower(int c);  isdigit(int c);  isalnum(int c);  isspace(int c);  toupper(int c);  tolower(int c);

(38)

 Buatlah program dengan beberapa fungsi berikut:

 Fungsi untuk menginputkan 10 bilangan ke dalam array

 Fungsi untuk mencari bilangan terbesar dalam array tersebut

Fungsi

tersebut

 Fungsi untuk mencari bilangan terkecil dalam array tersebut

 Fungsi untuk menampilkan :

 10 bilangan tersebut

(39)

 Perbaiki program berikut sehingga bisa digunakan untuk menukar 2 buah karakter

void Tukar(char A, char B ){ char C ; C = A; A = B, B = C;

Fungsi

C = A; A = B, B = C; } int main(){ char X, Y ; X = ‘S’; Y = ‘D’; Tukar(X, Y); printf(“X = %c Y= %c”, X, Y); return 0;

(40)

#include <stdio.h>

void bagi(float x, int y, float *z){ if(y==0) return;

*z=x/y; }

float div(float x, int y){ if(y!=0) return(x/y); } Fungsi tidak mengembalikan nilai Fungsi yang

Fungsi

int main(){ float f,a=12.75; int b=5; bagi(a,b,&f); printf("%f dibagi %d = %f\n", a,b,f); b=3; f=div(a,b); printf("%f dibagi %d = %f\n", a,b,f); return 0; } Fungsi yang mengembalikan nilai Jelaskan apa perbedaan keyword return yang ada pada fungsi bagi dengan

return yang ada pada fungsi div ?

(41)

#include <stdio.h>

void bagi(float x, int y, float *z){ if(y==0) return;

*z=x/y; }

float div(float x, int y){ if(y!=0) return(x/y);

}

int main(){

1. Bolehkah pada fungsi bagi tidak menggunakan keyword

return, jika boleh silahkan

programnya dirubah ?

Fungsi

int main(){

float f,a=12.75; int b=5; bagi(a,b,&f); printf("%f dibagi %d = %f\n", a,b,f); b=3; f=div(a,b); printf("%f dibagi %d = %f\n", a,b,f); return 0; programnya dirubah ? 2. Bolehkan pada fungsi div

tidak menggunakan keyword return ?

(42)

#include <stdio.h> #include <stdio.h> int main() { int x,y; for(x=1; x<=3; x++){ int x=5; printf("x=%d ",x++); Perhatikan lingkup variabel x pada program disamping.

Fungsi

printf("x=%d ",x++); for(y=0; y<x; y++){

int x=20; printf("x=%d ",x++); } printf("\n"); } return 0; } disamping. Apakah output dari program disamping ?

(43)

Menara Hanoi

Pilar Kiri Pilar

Kanan Pilar Tengah

Fungsi

1 2 3 4 Kanan

(44)

Menara Hanoi

 Pindahkan n-piringan dari pilar-kiri ke pilar-kanan dengan pilar-tengah sebagai antara. Piringan yang berada dipilar kiri tersusun sedemikian rupa sehingga menyerupai menara, yaitu piringan yang lebih kecil

Fungsi

menyerupai menara, yaitu piringan yang lebih kecil selalu berada diatas piringan yang lebih besar. Pada proses pemindahan piringan-piringan tersebut, pola susunan menara harus selalu dijaga.

 Alur pemecahan secara rekursif :

1. Pindahkan (n-1) piringan-piringan atas ke pilar antara. 2. Pindahkan piringan terakhir ke pilar tujuan.

(45)

Menara Hanoi

 Simulasikan pemindahan dengan :

 3 piringan

 4 piringan

Fungsi

 4 piringan

 5 piringan

Referensi

Dokumen terkait

Pengaruh Indeks Harga Saham Gabungan, Nilai Tukar Rupiah Dan Sertifikat Bank Indonesia Terhadap Nilai Aktiva bersih Reksadana Campuran Pada PT. Manulife Aset Manajemen

Hasil penelitian ini sesuai dengan penelitian yang dilakukan oleh Masini (2015) menunjukkan Ibu yang berpartisipasi dalam kelas ibu hamil, lebih banyak pada ibu yang

[r]

Pemangku kepentingan kunci merupakan lembaga pemerintah kabupaten yang tupoksinya berkaitan langsung dengan pemulihan ekosistem DTA Toba seperti Dinas Kehutanan dan Badan

Konsumsi oksigen digunakan sebagai indikator metabolisme pada ikan, dan perbedaan salinitas mempengaruhi energi yang dibutuhkan untuk osmoregulasi pada beberapa

Fraktur batang femur biasanya terjadi karena trauma langsung akibat kecelakaan lalu lintas atau jatuh dari ketinggian. Patah tulang yang terjadi pada daerah ini

Lanjutan (Persyaratan kualitas air minum berdasarkan Keputusan Menteri Kesehatan RI No.907/Menkes/SK/VII/2002). Parameter