Soal Latihan Bahasa pemograman C via Code Block
Modul PDP-01
a. UtiIiti
Membuat FiIe tipe data BooIean, dengan nama booIean.h
dengan sembarang text editor, IaIu tuIis kode
di bawah ini dan
simpan dengan
format fiIe AII FiIe
/*File
boolean.h*/
#ifndef
BOOLEAN_H
#define
BOOLEAN_H
#define true 1
#define false 0
#define boolean
unsigned char
#endif
b. Untuk
memakai fiIe ini, maka simpan
fiIe ini daIam direktori yang
sama dengan fiIe source code anda, IaIu sertakan #include
"boolean.h"daIam hash
incIude.
c. SeteIah itu anda dapat mendekIarasikan tipe data
BooIean seperti
contoh di bawah ini, boolean benar; boolean state;
d. Uji
dengan file driver,
driver.c
#include "boolean.h"
int main () {
printf("Men-Test
File boolean.h \n");
boolean
betul=true;
printf("variabel
betul desimal: %d\n", betul);
printf("variabel
betul:%s\n",betul?"true":"false")
}
2 /* File hello.c */
void
main()
{
printf("hello\n
");
}
3 /* File : hello1.c */
/* menuliskan
hello ke layar */
/* pola ini
merupakan standard yang dipakai di kelas */
int
main ()
{
/* KAMUS */
/* ALGORITMA */
printf
("hello\n");
return 0;
}
TIPE DATA
SEDERHANA : int, float, char dan string
3a /* contoh membaca integer dan float*/
/* kemudian
menuliskan nilai yang dibaca */
int main () {
/* Kamus */
int a; float b;
/* Program */
printf
("Membaca dan menulis, ketik nilai integer: ");
scanf
("%d", &a);
printf
("Membaca dan menulis, ketik nilai float: ");
scanf
("%d", &b);
printf
("Nilai yang dibaca : %f \n", b);
return 0;
}
3b int main() {
/* Kamus */
char cc;
/* Algoritma */
printf
("hello\n");
printf("baca
1 kar : ");scanf ("%c ", cc);
printf
("%c", cc);
printf
("bye \n");
return 0;
}
3c /* deklarasi dan alokasi string,
kemudian mengisinya
dengan membaca
*/
#include<string.h>
int
main () {
/* Kamus */
char *str;
char *str1;
/* Program */
printf
("\nBaca string, maks 20 karakter: ");
/*Alokasi string
sebesar 20 karakter*/
str = (char *)
malloc (20 * sizeof (char));
printf("masukkan
sebuah string, max 20 kar: ");
scanf("%s",str);
printf
("String yang dibaca : %s\n", str);
/*Alokasi string
sebesar 20 karakter*/
str1 = (char *)
malloc (20 * sizeof (char));
strcpy (str1,
str);
printf
("String yang disalin : %s\n", str1);
return 0;
}
3d /* File : enum.c */
/* Deklarasi dan
pemakaian type enumerasi */
int
main () {
/* KAMUS */
/*
"type" */
enum hari {
senin, selasa, rabu, kamis, jumat, sabtu }
hariku; /*
hariku : variabel */
enum { satu,
dua, tiga } angka; /* variabel */
enum { KEYWORD =
01, EXTERNAL = 03, STATIC = 04 };
/* sekedar
enumerasi "konstanta" bernama ",
mengelompokkan
*/
typedef enum {
merah,putih,kuning } warna; /* nama type
*/
unsigned int
flags;
warna w =
kuning;
/* ALGORITMA */
angka = tiga;
printf
("Angka %d \n ", angka);
hariku = 0;
printf
("Hari %d \n ", hariku);
printf
("Masukkan sebuah angka [0..2] ");
scanf
("%d", &angka);
printf
("Angka %d \n ", angka);
flags =
EXTERNAL;
printf
("flags %d \n ", flags);
printf
("Warna = %d\n", w);
return 0;
}
3e /* latihan array statis : mengisi dg
assignment, menulis
*/
int main () {
/* Kamus */
int i;
int tab[10]; /*
Cara mengacu elemen ke-i: tab[i] */
int N;
/* Program */
N = 5;
printf
("Isi dan print tabel untuk indeks 1..5 \n");
/* isi dengan
assignment */
for (i = 1; i
<= N; i++) {
tab[i] = i;
};
/* traversal:
print */
for (i = 1; i
<= N; i++) {
printf
("i=%d tab[i]=%d \n", i, tab[i]);
};
return 0;
}
3f /* contoh pendefinisian dan pengisian
struktur: Titik,
mhs, meter */
int main () {
/* Kamus */
/* cara 1 */
struct {
char nama[20];
int nim;
int nilai;
} Mhs; /* nama
variabel berupa struct */
/* cara 2 */
/* tag, utk
menyebut struct ... */
struct meter {
int m;
int cm;
};
struct meter M1;
/* M1 adalah variabel */
/* cara 3 : INI
yang membuat TYPE BARU */
typedef struct {
float x;
float y;
} Point; /* nama
type */
Point P1;
Point P3;
/* latihan baca
*/
/* Algoritma */
printf
("Contoh mengisi struktur dg assignment : \n");
printf
("Titik P1, dengan P1.x dan P1.y:\n");
P1.x = 1.1;
P1.y = 2.5;
printf
("P1.x = %4.1f\nP1.y = %4.1f\n", P1.x, P1.y);
printf
("Baca Titik P3\n");
scanf ("%f
%f", &P3.x, &P3.y);
printf
("P3.x = %f \nP3.y = %f \n", P3.x, P3.y);
strcpy
(Mhs.nama, "Juliette");
Mhs.nim = 7473;
Mhs.nilai = 80;
printf
("Hasil assignment thd Mhs \n");
printf
("Nama = %s\nNim = %d\nNilai = %d\n", Mhs.nama,
Mhs.nim,
Mhs.nilai);
return 0;
}
ASSIGNMBNT,
INPUT & OUTPUT
4 /* File : ASIGN.C */
/* Assignment
nilai integer dan print */
int
main ()
{/* Kamus */
int i;
/* Program */
printf
("hello\n");
i = 5;
printf
("Ini nilai i : %d \n", i);
return 0;
}
5 /* File asgdll.c */
int main()
{ /* Kamus */
float f;
long double fll;
/* Algoritma */
f= 20.0f;
fll=10.0L;
return 0;
}
6 /* File : ASIGNi.C */
/* Assignement
dan print */
#include
<limits.h>
int
main ()
{
/* Kamus */
int i;
long int ii;
/* Program */
printf
("hello\n");
i = 1234;
ii = 123456;
printf
("Ini nilai i=1234 = : %d \n", i);
printf
("Ini nilai ii=123456 : : %10d \n", ii);
/* print nilai
batas integer */
printf
("Min & Max integer: %d,%d \n", INT_MIN,INT_MAX);
printf
("Max long integer : %ld, %ld \n", LONG_MAX);
return 0;
}
7 /* File : asign2.c */
/* Deskripsi :
*/
/* Program ini
berisi contoh sederhana untuk */
/*
mendefinisikan */
/*
variabel-variabel bilangan bulat */
/*(short int,
int, long int),*/
/* karakter,
bilangan riil, */
/*---------------------------------------------*/
int
main ()
{
/* KAMUS */
short ks = 1;
int ki = 1;
long kl = 10000;
char c = 65; /*
inisialisasi karakter dg integer*/
char c1 = 'Z';
/* inisialisasi karakter dg karakter */
float x = 1.55;
/* Algoritma */
/* penulisan
karakter sebagai karakter */
printf
("Karakter = %c\n", c);
printf
("Karakter = %c\n", c1);
/* penulisan
karakter sebagai integer */
printf
("Karakter = %d\n", c);
printf
("Karakter = %d\n", c1);
printf
("Bilangan integer (short) = %d\n", ks);
printf
("\t\t(int) = %d\n", ki);
printf
("\t\t(long) = %ld\n", kl); /* perhatikan format
%ld */
printf
("Bilangan Real = %f8.3\n", x);
return 0;
}
OPBRATOR &
BKSPRBSI
8 /* File : incr.c */
/* Effek dari
operator ++ */
int
main ()
{
/* Kamus */
int i, j;
/* Program */
i = 3;
j = i++;
printf
("Nilai i : %d\nNilai j : %d\n", ++i, j);
return 0;
}
9 /* File : oper1.c */
/* pemakaian
beberapa operator terhadap bit */
int
main ()
{
/* KAMUS */
int n = 10; /*
1010 */
int x = 1; /* 1
*/
int y = 2; /* 10
*/
/* ALGORITMA */
printf ("n
= %d \n", n);
printf ("x
= %d \n", x);
printf ("y
= %d \n", y);
printf ("n
& 8 = %d \n", n & 8); /* 1010 AND 1000 *
printf ("x
& ~ 8 = %d \n", x & ~8); /* 1 AND 0111 *
printf ("y
<< 2 = %d \n", y << 2); /* 10 ==> 1000 = 8 */
printf ("y
>> 3 = %d \n", y >>3);; /* 10 ==> 0000 = 0 */
return 0;
}
10 /* File : oprator.c */
/* Contoh
pengoperasian variabel bertype dasar */
int main ()
#include
"boolean.h"
{/* Kamus */
boolean Bool1,
Bool2, TF ;
int i,j, hsl ;
float x,y,res;
/* algoritma */
printf
("Utk program ini, baca teksnya dan tambahkan
output");
Bool1 = true;
Bool2 = false;
TF = Bool1
&& Bool2 ; /* Boolean AND */
TF = Bool1 ||
Bool2 ; /* Boolean OR */
TF = ! Bool1 ;
/* NOT */
TF = Bool1
^Bool2; /* XOR */
/* operasi
numerik */
i = 5; j = 2 ;
hsl = i+j; hsl =
i - j; hsl = i / j; hsl = i * j;
hsl = i /j ; /*
pembagian bulat */
hsl = i%j ; /*
sisa. modulo */
/* operasi
numerik */
x = 5.0 ; y =
2.0 ;
res = x + y; res
= x - y; res = x / y; res = x * y;
/* operasi
relasional numerik */
TF = (i==j); TF
= (i!=j);
TF = (i < j);
TF = (i > j); TF = (i <= j); TF = (i >= j);
/* operasi
relasional numerik */
TF = (x != y);
TF = (x < y);
TF = (x > y); TF = (x <= y); TF = (x >= y);
return 0;
}
11 /* File : oper2.c */
/* pemakaian
beberapa operator terhadap RELATIONAL DAN
bit */
int main ()
{/* KAMUS */
char i, j;
/* ALGORITMA */
i = 3; /*
00000011 dalam biner */
j = 4; /*
00000100 dalam biner */
printf ("i
= %d \n", i);
printf ("j
= %d \n", j);
printf (" i
&& j = %d \n", i && j);/* 1:op lojik : true
and
true=> true
*/
printf (" i
& j = %d \n", i & j); /* 0: 00000000 dalam
biner */
printf ("
i|| j = %d \n", i || j); /* 1 : OR LOJIK, True
or true
=> true */
printf ("
i| j = %d \n", i | j); /* 7: 00000111 biner */
printf ("
i^j = %d \n", i ^ j); /* 7: 00000111 biner */
printf ("
~i = %d \n", ~i); /* -4: 11111100 biner *
return 0;
}
12 /* File : exp.c */
/* pemakaian
operator kondisional */
int
main ()
{
/* KAMUS */
int x = 1;
int y = 2;
/* ALGORITMA */
printf ("x
= %d \n", x);
printf ("y
= %d \n", y);
printf
("hasil ekspresi = (x<y)?x:y = %d \n", (x < y) ? x
: y);
return 0;
}
13 /* File : exp1.c */
/* pembagian
integer, casting */
int main ()
{/* KAMUS */
int x = 1;
int y = 2;
float fx;
float fy;
/* ALGORITMA */
printf
("x/y (format integer) = %d \n", x/y);
printf
("x/y (format float) = %f \n", x/y);
/* supaya
hasilnya tidak nol */
fx=x;
fy=y;
printf
("x/y (format integer) = %d \n", fx/fy);
printf
("x/y (format float) = %f \n", fx/fy);
/* casting */
printf
("float(x)/float(y) (format integer) = %d \n",
(float)x/(float)y);
printf
("float(x)/float(y) (format float) = %f \n",
(float)x/(float)y);
x = 10;
y = 3;
printf
("x/y (format integer) = %d \n", x/y);
printf
("x/y (format float) = %f \n", x/y);
return 0;
}
14 /* File : oper3.c */
/* Operator
terner */
/* Ekspresi
ditulis sebagai makro */
#define max(a,b)
((a>b) ? a: b)
int
main ()
{
/* KAMUS */
int i = 0; /*
perhatikan int i,j=0 bukan seperti ini */
int j = 0;
char c = 8;
char d = 10;
char e = max (c,
d);
int k = max (i,
j);
/* ALGORITMA */
printf
("Nilai e = %d \n", e);
printf
("Nilai k = %d \n", k);
i = 2;
j = 3;
k = max (i++,
j++);
printf
("Nilai k = %d \n", k);
return 0;
}
Tidak ada komentar:
Posting Komentar