You are on page 1of 17

Perhatikan potongan program berikut ini:

struct person

char lastName[15];

chat firstName[15];

int age;

Apakah kesalahan yang terjadi pada potongan program di atas?


Potongan program tidak ada yang salah
Tag struct seharusnya terdiri dari dua kata, seperti personData
Jumlah elemen pada age tidak ada
Titik koma diperlukan untuk mengakhiri definisi struktur

Umpan balik

Jawaban anda tidak benar.

Berikut adalah contoh dari pendeklarasian  struct:

struct dataTanggal

  int tahun;

  int bulan;

  int tanggal;

};
Dimana pada pendeklarasian  struct akan diakhiri dengan semicolon sebagai akhir
dari pendeklarasian  struct.

Apakah keyword yang digunakan untuk deklarasi struct?


struct
str.h
struck
str
Umpan balik

Jawaban anda benar.

Berikut adalah contoh dari pendeklarasian  struct:

struct dataTanggal

    int tahun;

    int bulan;

    int tanggal;

};

Dimana  struct merupakan keyword yang menyatakan  struct,  dataTanggal merupakan


nama tipe  struct atau disebut juga tag  struct. Kemudian, terdapat tiga nama
anggota  struct. Lalu, diakhiri dengan semicolon sebagai akhir dari
pendeklarasian  struct

struct merupakan kumpulan variabel yang terkait di dalam satu


nama. struct mengelompokkan data dengan tipe yang berbeda.
Pilih salah satu:
Benar

Salah 
Umpan balik

struct bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang


berlainan.  struct juga dapat mengelompokkan data dengan tipe sama di dalam satu
nama.

Nama tipe struktur disebut juga sebagai ...


Keyword struct
Member struct
Tipe struct
Tag struct

Umpan balik

Jawaban anda benar.

Berikut adalah contoh dari pendeklarasian  struct:


struct dataTanggal

  int tahun;

  int bulan;

  int tanggal;

};
Dimana  struct merupakan keyword yang menyatakan  struct,  dataTanggal merupakan
nama tipe  struct atau disebut juga tag  struct. Kemudian, terdapat tiga nama
anggota  struct. Lalu, diakhiri dengan semicolon sebagai akhir dari
pendeklarasian  struct.

Anggota struct hanya berisikan variabel dengan tipe data yang sama.


Pilih salah satu:
Benar 

Salah
Umpan balik

struct dapat berisikan variabel dengan berbagai tipe data yang berbeda.

Lengkapi program di bawah ini agar dapat menghasilkan output seperti berikut:

Nama depan: Michael

Nama belakang: Budi

ID Pegawai: 1234

Gaji : Rp.1000000.00

Gunakan fungsi yang sesuai untuk mencetak output seperti di atas. Buat program
dengan nama data_pegawai.c!

Lengkapilah program di bawah ini pada bagian [nomor] ......... di kotak jawaban yang


tersedia, sampai tidak terdeteksi error!

Catatan:

 Ubahlah jawaban pada kolom dibawah ini, agar sesuai dengan soal
yang diminta
 Koreksilah jika masih terdapat kesalahan
 KLIK PRECHECK untuk melihat apakah program sudah benar
 KLIK CHECK jika program sudah yakin benar
Answer:(penalty regime: 0 %)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Program data_pegawai.c
#include <stdio.h>
#include <string.h>

int main()
{
// Deklarasikan struct dengan nama struct pegawai
struct pegawai
{

// Deklarasikan char fname dan lname dengan indeks 10, id


bertipe integer dan gaji bertipe float
char fname[10];
char lname[10];
int id;
float gaji;
};

// Deklarasikan variabel struct dengan nama pgw


struct pegawai pgw ;
{
// Menugaskan anggota struct fname dan lname dengan Michael dan
Budi dengan menggunakan fungsi string copy
strcpy(pgw.fname, "Michael");
strcpy(pgw.lname, "Budi");

// Menugaskan anggota struct id dengan nilai 1234 dan anggota


struct gaji dengan 1000000.00
pgw.id = 1234;
pgw.gaji = 1000000.00;
};

// Mencetak nilai anggota struct fname, lname, id, dan gaji


printf("Nama depan: %s\n", pgw.fname);
printf("Nama belakang: %s\n", pgw.lname);
printf("ID Pegawai: %d\n", pgw.id);
printf("Gaji : Rp.%.2f\n", pgw.gaji);
return 0;


Precheck Periksa

Umpan balik

Tes
Expected Got
t

1 Nama depan: Michael Nama depan: Michael


Nama belakang: Budi Nama belakang: Budi
ID Pegawai: 1234 ID Pegawai: 1234
Gaji : Rp.1000000.00 Gaji : Rp.1000000.00

Passed all tests!  


Benar
Nilai untuk ajuan ini: 20,00/20,00.

Di bawah ini merupakan program untuk membuktikan bahwa nilai yang dikandung pada variabel di
dalam union dapat berbeda apabila masing-masing variabel mempunyai tipe data yang berbeda.

Lengkapilah program di bawah ini pada bagian [nomor] ......... di kotak jawaban yang tersedia, sampai
tidak terdeteksi error!
Catatan:

 Ubahlah jawaban pada kolom dibawah ini, agar sesuai


 dengan soal yang diminta
 Koreksilah jika masih terdapat kesalahan
 KLIK PRECHECK untuk melihat apakah program sudah benar
 KLIK CHECK jika program sudah yakin benar

Answer:(penalty regime: 0 %)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
// Deklarasi tipe union dengan nama union bilangan
union bilangan
{
int x;
double y;
};
int main()
{
union bilangan nilai; // Deklarasi nama union dengan variabel
union nilai
nilai.x = 50; // Menginisialisasi variabel x untuk ditugaskan
dengan nilai 50
printf("Mencetak nilai dari variabel-variabel di dalam union:\
n");
// Mencetak nilai x
printf("Nilai variabel x = %d\n", nilai.x);
// Mencetak nilai y
printf("Nilai variabel y = %f\n", nilai.y);

return 0;

}
Precheck Periksa

Umpan balik

Tes
Expected Got
t

1 Mencetak nilai dari variabel-variabel Mencetak nilai dari variabel-variabel


di dalam union: di dalam union:
Nilai variabel x = 50 Nilai variabel x = 50
Nilai variabel y = 0.000000 Nilai variabel y = 0.000000

Passed all tests!  


Benar
Nilai untuk ajuan ini: 20,00/20,00.

Perhatikan potongan program di bawah ini:

union i

int a;

int b;

};

union i j;
Pada program di atas, manakah yang termasuk ke dalam nama union?

Umpan balik

Jawaban anda benar.

Berikut ini merupakan bentuk umum dari union:


union namaUnion
{

} varUnion;
Pilihan terbaik adalah: i

Di bawah ini, manakah yang merupakan bentuk deklarasi union yang salah?

union namaUnion
{
} varUnion;

union namaUnion
{
}; varUnion;

union
{
} varUnion;

union namaUnion
{
}; union namaUnion varUnion;

Umpan balik

Jawaban anda benar.


Jika terdapat simbol semicolon ( ; ) pada bagian kurung kurawal akhir, maka saat
mendeklarasikan variabel union, harus menyertakan nama tipe unionnya sehingga menjadi :
union namaUnion

}; union namaUnion varUnion;


Pilihan terbaik adalah:
union namaUnion
{
}; varUnion;

union sama dengan struct.

Pilih salah satu:

Benar

Salah 

Umpan balik

union dan  struct memiliki
fungsi yang berbeda.  union mengelompokkan variabel di
alamat yang sama, sedangkan  struct mengelompokkan variabel, yang mana
variabel tersebut berada di alamat yang berbeda.
Jawaban yang benar adalah 'Salah'.

Perhatikan potongan program di bawah ini

union i

int a;

int b;

};

union i j;

Pada program di atas, manakah yang termasuk ke dalam variabel union?

a
b

Umpan balik

Jawaban anda benar.


Dari program di atas, yang merupakan variabel  union adalah variabel  j.
sedangkan  i merupakan nama  union
Pilihan terbaik adalah: j

Perhatikan statement berikut ini:

enum anjing

PODDLE, TERRIER, BOXXER

};

printf("%d , %d, dan %d", PODDLE, BOXXER, TERRIER);

jika statement tersebut dijalankan, apakah output yang dihasilkan?


1, 2, dan 3

1, 3, dan 2

0, 2, dan 1

0, 1, dan 2

Umpan balik

Pilihan terbaik adalah:

0, 2, dan 1

Perhatikan pendeklarasian dari enum berikut:

enum color

blue, green, red, yellow


};

Berdasarkan enum di atas, maka nilai enum blue yang tersimpan di memori adalah


1.
Pilih salah satu:

Benar

Salah 

Umpan balik

Jawaban yang benar adalah 'Salah'.

Perhatikan pendeklarasian dari enum berikut:

enum days

    SUN,MON,TUE=5,WED,THU,FRI,SAT

};

Berdasarkan enum di atas, maka nilai enum THU yang tersimpan di memori adalah 7.


Pilih salah satu:

Benar 

Salah

Umpan balik

Jawaban yang benar adalah 'Benar'.

Perhatikan program berikut:

#include <stdio.h>

enum months

{
JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC

};

int main ()

printf("%d, %d, %d", FEB, APR, MAY);

Apa output yang dihasilkan dari program di atas?


2, 4, 6

3, 5, 6

2, 4, 5

1, 3, 4

Umpan balik

Pilihan terbaik adalah: 2, 4, 5

Perhatikan program berikut:

#include <stdio.h>

enum months

JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC

};

int main ()

const char *monthName[] = {


"", "January", "February", "March", "April", "May", "June", "July",

"August", "September", "October","November", "December"

};

printf("%11s, %11s, %11s", monthName[1], monthName[8], monthName[12]);

Apa output yang dihasilkan dari program di atas?


February,      September,    January

January,    August,    March

December,      July,    November

January,      August,    December

Umpan balik

Pilihan terbaik adalah: January,      August,    December

typedef dapat digunakan untuk membuat nama alias dari sebuah tipe data dasar.
Pilih salah satu:

Benar 

Salah

Umpan balik

Jawaban yang benar adalah 'Benar'.

Perhatikan potongan program berikut ini:

typedef struct student

int roll;
char name[50];

int marks;

} st;

Dari statement berikut ini, makakah statement yang menunjukkan penggunaan nama alias
dari potongan program di atas?

st s1, s2;

struct, s2;

typedef struct student = s1, s2;

struc [student] s1, s2;

Umpan balik

Pilihan terbaik adalah: st s1, s2;

Perhatikan potongan program berikut ini:

typedef int age;

Kita dapat menunjukkan penggunaan nama alias dari potongan program di atas dengan
statement berikut, yaitu ...

int [age] a1, a2;

typedef int age a1, a2;

struct ages a1, a2;

age a1, a2;

Umpan balik

Pilihan terbaik adalah: age a1, a2;

Dalam pendeklarasian typedef, bentuk penulisannya adalah sebagai berikut:

typedef newtypename;
Pilih salah satu:
Benar

Salah 

Umpan balik

Jawaban yang benar adalah 'Salah'.

Ikutilah instruksi di bawah ini untuk mengerjakan soal program


pendeklarasian typedef struct:

1. Lengkapilah program pendeklarasian typedef struct!


2. Tipe data yang akan diubah adalah struct dengan nama alias st.
3. Anggota struct terdiri dari :

- variabel name bertipe data char dengan panjang 50.


- variabel score bertipe data int

4. Deklarasikan variabel s1 dengan menggunakan nama alias.


5. Inisialisasi setiap anggota dari struct.
6. Koreksi jika masih ada kesalahan!

Lengkapilah program di bawah ini pada bagian [nomor] ......... di kotak jawaban


yang tersedia, sampai tidak terdeteksi error!

Catatan:

 Ubahlah jawaban pada kolom dibawah ini, agar sesuai dengan soal
yang diminta
 Koreksilah jika masih terdapat kesalahan
 KLIK PRECHECK untuk melihat apakah program sudah benar
 KLIK CHECK jika program sudah yakin benar

Answer:(penalty regime: 0 %)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Program deklarasi typedef struct
#include <stdio.h>
#include <string.h>

// Deklarasi typedef dengan tipe data awal struct dengan nama struct
adalah student dan nama alias st
typedef struct student
{
char name[50];
int score;
} st;

int main()
{
// Deklarasi variabel s1 dengan nama alias
st s1;

// Inisialisasi variabel name dengan nilai yang ditugaskan


adalah "James" menggunakan fungsi strcpy
strcpy(s1.name,"James");

// Inisialisasi variabel score dengan nilai yang ditugaskan


adalah 100
s1.score = 100;

// Mencetak nilai name dan score


printf("%s mendapatkan nilai %d pada saat ujian lisan.",
s1.name, s1.score);

return 0;
}
Precheck Periksa

Umpan balik

Tes
Expected Got
t

1 James mendapatkan nilai 100 pada saat James mendapatkan nilai 100 pada saat
ujian lisan. ujian lisan.

Passed all tests!  


Benar
Nilai untuk ajuan ini: 50,00/50,00.

You might also like