Anda di halaman 1dari 11

Praktikum 10

Tipe Data Bentukan


NIM/Nama : ……………………………..
Pengumpulan tugas praktikum:
Simpan laporan praktikum ini dengan nama P10_NIM.docx di folder yang sama dengan folder tempat
kode program. Namai folder dengan P10_NIM, kemudianzip. File EXE tidak perlu diikutkan dalam zip.
Upload ke http://learning-if.polibatam.ac.id.

Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:


1. Mendeklarasikan tipe data bentukan sesuai dengan kebutuhan penyelesaian permasalahan
2. Melakukan manipulasi variabel bertipe data bentukan dengan menggunakan operator yang tepat

Bagian 1: Baca Bulan


Buatlah tipe terstruktur bernama tipe Date, yang terdiri dari dd, mm, yy bertipe integer. Gunakan tipe
terstruktur tersebut dalam program.
Program membaca masukan sebuah tanggal, kemudian mengkonversi mm ke dalam string. Contoh :
Tanggal : 10
Bulan : 11
Tahun : 2012
Hasil konversi : 10 November 2012
Simpan dengan nama 1_bacaBulan.c.

Tuliskan perintah (dalam bahasa C) untuk membuat tipe terstruktur yang diperlukan

typedef struct

int dd, mm, yy;

}Date;

Tuliskan algoritma (notasi bebas) di sini.

Konversi Bulan

Membuat program untuk mengubah angka bulan menjadi nama bulan.


Deklarasi

Type Date : record <dd : int, mm : int, yy : int>

T : Date

Algoritma

Input (dd, mm, yy)

Case (mm)

1 : “ Hasil konversinya adalah %d Januari %d”

2 : “Hasil konversinya adalah %d Februari %d”

3 : “Hasil konversinya adalah %d Maret %d”

4 : “Hasil konversinya adalah %d April %d”

5 : “Hasil konversinya adalah %d Mei %d”

6 : “Hasil konversinya adalah %d Juni %d”

7 : “Hasil konversinya adalah %d Juli %d”

8 : “Hasil konversinya adalah %d Agustus %d”

9 : “Hasil konversinya adalah %d September %d”

10 : “Hasil konversinya adalah %d Oktober %d”

11 : “Hasil konversinya adalah %d November %d”

Otherwise : “Hasil konversinya adalah %d Desember %d”

Endcase

Salin kode program di sini.

//Program untuk Membaca bulan dari tanggal yang dimasukkan

#include <stdio.h>

#include <stdlib.h>

main()

typedef struct

{
int dd, mm, yy;

}Date;

Date T;

printf("Masukkan tanggal yang anda inginkan : ");

scanf("%d", &T.dd);

printf("Masukkan bulan yang anda inginkan : ");

scanf("%d", &T.mm);

printf("Masukkan tahun yang anda inginkan : ");

scanf("%d", &T.yy);

printf("\n");

printf("\n");

switch(T.mm){

case 1 :;

printf("Hasil Konversinya adalah %d Januari %d\n", T.dd, T.yy);

break;

case 2:;

printf("Hasil Konversinya adalah %d Februari %d\n", T.dd, T.yy);

break;

case 3 :;

printf("Hasil Konversinya adalah %d Maret %d\n", T.dd, T.yy);

break;

case 4 :;

printf("Hasil Konversinya adalah %d April %d\n", T.dd, T.yy);

break;

case 5 :;

printf("Hasil Konversinya adalah %d Mei %d\n", T.dd, T.yy);

break;

case 6 :;

printf("Hasil Konversinya adalah %d Juni %d\n", T.dd, T.yy);


break;

case 7 :;

printf("Hasil Konversinya adalah %d Juli %d\n", T.dd, T.yy);

break;

case 8:;

printf("Hasil Konversinya adalah %d Agustus %d\n", T.dd, T.yy);

break;

case 9 :;

printf("Hasil Konversinya adalah %d September %d\n", T.dd, T.yy);

break;

case 10 :;

printf("Hasil Konversinya adalah %d Oktober %d\n", T.dd, T.yy);

break;

case 11 :;

printf("Hasil Konversinya adalah %d November %d\n", T.dd, T.yy);

break;

default :;

printf("Hasil Konversinya adalah %d Desember %d\n", T.dd, T.yy);

system("PAUSE");

return 0;

Jelaskan hasil running program!

Hasil running program akan menampilkan penanggalan bulan dengan tipe data bulan yaitu “string”.
Sehingga terbentuknya tanggal dengan penamaan bulan di penanggalannya
Bagian 2: Hitung Umur
Dibaca dua buah tanggal(dd:mm:yy). Tanggal pertama adalah tanggal lahir, yang kedua adalah tanggal
hari ini. Buatlah program untuk menghitung berapa hari jarak kedua tanggal tersebut. Diasumsikan : 1
tahun=365 hari, 1 bulan=30 hari. Keluaran (tahun, bulan, hari) ditampilkan ke layar

Simpan dengan nama 2_umur.c

Tuliskan perintah (dalam bahasa C) untuk membuat tipe terstruktur yang diperlukan

typedef struct

int d;

int m;

int y;

}Date;

Tuliskan algoritma (notasi bebas) di sini.

Program Menghitung Umur

Program akan menghitung data masukkan yang kemudian akan menampilkan umur anda dengan detail
tahun, bulan, dan hari

Deklarasi

Type Date : record <d : int, m : int, y : int>

T1, T2, T3 : Date

Algoritma

Input(T1.d, T1.m, T1.y, T2.d, T2.m, T2.y)

T3.d = T2.d – T1.d

T3.m = T2.m – T1.m

T3.y = T2.y – T1.y

Output (T3.d, T3.m, T3.y)

Salin kode program di sini.

// Program untuk menghitung umur

#include <stdio.h>
#include <stdlib.h>

main()

typedef struct

int d;

int m;

int y;

}Date;

Date T1, T2, T3;

printf("Masukkan Tanggal Lahir anda : ");

scanf("%d", &T1.d);

printf("Masukkan Bulan Lahir anda : ");

scanf("%d", &T1.m);

printf("Masukkan Tahun Lahir anda : ");

scanf("%d", &T1.y);

printf("\n");

printf("Masukkan Tanggal sekarang : ");

scanf("%d", &T2.d);

printf("Masukkan Bulan sekarang : ");

scanf("%d", &T2.m);

printf("Masukkan Tahun sekarang : ");

scanf("%d", &T2.y);

printf("\n");

T3.d = T2.d - T1.d;

if (T1.d>T2.d)

T3.d = T3.d + 30;

}
else

T3.d = T3.d;

T3.m = T2.m - T1.m;

if (T1.d>T2.d)

T3.m = T3.m - 1;

else if(T1.m>T2.m)

T3.m = T3.m + 12;

else

T3.m = T3.m;

T3.y = T2.y - T1.y;

printf("Umur Anda adalah %d Tahun %d Bulan %d Hari\n\n", T3.y, T3.m, T3.d);

system("PAUSE");

return 0;

Jelaskan hasil running program!

Hasil running program akan menunjukkan umur Anda dihitung dari tanggal lahir Anda hingga tanggal
tertentu.
Ekstra: Jadwal Ujian
Buatlah program untuk menampilkan jadwal ujian. Program menerima masukan nama mata kuliah,
ruang, jam mulai, dan banyaknya sesi. 1 sesi = 50 menit. Program kemudian menampilkan informasi
nama mata kuliah, ruang, jam mulai, dan jam selesai.

Hint: Untuk mempermudah, buatlah prosedur yang dapat menghitung jam dan menit yang baru, jika
ditambahkan n menit. Panggil prosedur tersebut untuk menampilkan jam selesai ujian.

Contoh running:

Mata kuliah: Pemrograman


Ruang: 704
Mulai:
Jam: 12
Menit: 45
Banyak sesi: 2

Keluaran:

Ujian Pemrograman
Ruang 704
Jam 12.45 – 14.25

Simpan dengan nama 3_jadwalUjian.c.

Tuliskan perintah (dalam bahasa C) untuk membuat tipe terstruktur yang diperlukan

typedef struct{

char mk[25];

char ruang[4];

int h;

int m;

int s;

}Jadwal;

Tuliskan algoritma (notasi bebas) di sini.

Program Melihat Jadwal Ujian

Program akan mengolah data masukkan lalu menampilkan hasil kalkulasi waktu dan data jadwal ujian

Deklarasi

Type Jadwal : record <mk : string, ruang : string, h : int, m : int, s : int>
T1, k2 : Jadwal

Sesi, jam, menit : int

Algoritma

Input (T1.mk, T1.ruang, T1.h, T1.m, T1.s)

Sesi = sesi * 50

Menit = (menit + sesi )%60

Jam = ((menit + sesi)/60) + jam

Output (T1.mk, T1.ruang, k2.h, k2.m, T1.h, T1.m)

Salin kode program di sini.

// Program untuk menampilkan informasi waktu sesi ujian mata kuliah

#include <stdio.h>

#include <stdlib.h>

int Pros(int *jam, int *menit, int *s){

*s = *s * 50;

*menit = (*menit + *s) % 60;

*jam = ((*menit + *s)/60) + *jam;

int main()

typedef struct{

char mk[25];

char ruang[4];

int h;

int m;

int s;

}Jadwal;

Jadwal T1, k2;


printf("Masukkan Mata Kuliah anda : ");

gets (T1.mk);

printf("Masukkan Ruang Kuliah anda : ");

gets (T1.ruang);

printf("Mulai :\n");

printf("\tJam : ");

scanf("%d", &T1.h);

printf("\tMenit : ");

scanf("%d", &T1.m);

printf("Banyaknya Sesi : ");

scanf("%d", &T1.s);

k2.h = T1.h;

k2.m = T1.m;

Pros(&T1.h, &T1.m, &T1.s);

printf("\n\n");

printf("Ujian %s\n", T1.mk);

printf("Ruangan %s\n", T1.ruang);

printf("Jam %d.%d - %d.%d\n", k2.h, k2.m, T1.h, T1.m);

printf("\n");

system("PAUSE");

return 0;

Jelaskan hasil running program!

Hasil running program akan menunjukkan mata kuliah yang akan diuji, ruangan ujian yang akan
dilaksanakan, dan durasi sesi waktu ujian dilaksanakan.
Kesimpulan
Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Yang saya telah pelajari dari praktikum ini adalah:

1. Mampu mendeklarasikan tipedata bentukan sesuai dengan kebutuhan

2. Mampu memanipulasi variabel bertipe data bentukan dengan menggunakan operator yang sesuai
dan mengacu pada tipe data dasar

Kesimpulan yang dapat saya tarik adalah dengan memahami tipe data bentukan dan operator tipe data
yang terpat, maka suatu penyelesaian dapat diperoleh untuk memecahkan suatu permasalahan dengan
menggunakan variabel bertipe data bentukan dan operator yang sesuai

Anda mungkin juga menyukai