Anda di halaman 1dari 12

Praktikum 12

Tipe Data Bentukan


NIM/Nama : 3311811013\Eni Tamsika Malau
Pengumpulan tugas praktikum:
Simpan laporan praktikum ini dengan nama P12_NIM.docx di folder yang sama dengan folder tempat
kode program. Namai folder dengan P12_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;
typedef struct

{ int dd, mm, yy;

}Date;s

Tuliskan algoritma (notasi bebas) di sini.

Konversi Bulan
Membuat program untuk mengubah angka bulan menjadi nama bulan tersebut.
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.

#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”);
}
Jelaskan hasil running program!

Dimana program menampilkan pesan input berupa “Masukkan tanggal yang


anda inginkan: ” saya misalkan “8” kemudian program kembali menampilkan
pesan input berupa “Masukkan bulan yang anda inginkan: ”, saya misalkan “1”
kemudian program kembali menampilkan pesan input berupa “Masukkan tahun
yang anda inginkan: “, saya misalkan “2017”. Setelah itu program melakukan
pemrosesan data berdasarkan angka yan sudah diinputkan user kemudian
menampilkan hasil output berupa “Hasil Konversinya adalah 8 Januari 2017”.
Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu
delay dengan memasukkan tambahan kode program system (“PAUSE”).

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 Mencari Umur


Program akan mengkalkulasikan data masukkan lalu akan menampilkan umur
anda dengan detail dari tahun, bulan, bahkan 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.

#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!

Dimana program menampilkan pesan input berupa “Masukkan Tanggal Lahir


anda: ” saya misalkan “8” kemudian program kembali menampilkan pesan input
berupa “Masukkan Bulan Lahir anda: ”, saya misalkan “8” kemudian program
kembali menampilkan pesan input berupa “Masukkan Tahun Lahir anda: “, saya
misalkan “1999” kemudian program kembali menampilkan pesan input berupa
“Masukkan Tanggal Sekarang: “, saya misalkan “12” kemudian program kembali
menampilkan pesan input berupa “Masukkan Bulan Sekarang: “, saya misalkan
“11” kemudian program kembali menampilkan pesan input berupa “Masukkan
Tahun Sekarang: “, saya misalkan “2017”. Setelah itu program memproses
perhitungan berdasarkan angka yan sudah diinputkan user kemudian
menampilkan hasil output berupa “Umur anda adalah 18 Tahun 3 Bulan 4 Hari”.
Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu
delay dengan memasukkan tambahan kode program system (“PAUSE”).

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 akan mengolah data masukkan lalu menampilkan hasil kalkulasi waktu
dan data
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.

#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);
system(“PAUSE”);
return 0;
}

Jelaskan hasil running program!

Dimana program menampilkan pesan input berupa “Masukkan Mata Kuliah


anda: ” saya misalkan “Algoritma Pemrograman” kemudian program kembali
menampilkan pesan input berupa “Masukkan Ruang Kuliah anda: ”, saya
misalkan “704” kemudian program kembali menampilkan pesan input berupa
“Jam: “, saya misalkan “12” kemudian program kembali menampilkan pesan
input berupa “Menit: “, saya misalkan “30” kemudian program kembali
menampilkan pesan input berupa “Banyaknya Sesi: “, saya misalkan “4”. Setelah
itu program memproses perhitungan berdasarkan angka yan sudah diinputkan
user kemudian menampilkan hasil output berupa “Ujian Algoritma Pemrograman”
“Ruangan 704” dan “Jam 12.30 – 16.50”. Program yang dijalankan di windows
explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan
kode program system (“PAUSE”).

Kesimpulan
Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Anda mungkin juga menyukai