Praktikum 10 Tipe Data Bentukan
NIM/Nama :4311211010 / NARUPI
Tujuan :
1. Membuat program yang mengandung tipe data bentukan
Setoran :
1. http://learning.polibatam.ac.id
2. File Praktikum10_NIM.zip atau Praktikum10_NIM.rar, yang berisi file program Anda dan laporan
Bagian 1 :
Nama proyek : Praktikum101_NIM
Nama file :KonversiBulan.c
Soal
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
Buatlah algoritmanya
Program konversi bulan
{merubah bulan dari integer menjadi string}
//deklarasi
Type month: record(tahun : integer, bulan:integer, tanggal:integer)
Date : month
Bulan : string
//algoritma
Read(date.tahun, date.bulan,date. tanggal)
Switch(date.bulan)
Case 1 : bulan:"January"
Case 2 : bulan:"February"
...
...
Case 12: bulan;"December"
Default : write(bulan tidak di kenal)
Write(date.dd, bulan, date.yy)
Terjemahkan algoritma di atas ke dalam bahasa C
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
//deklarasi
typedef struct{int dd; int mm; int yy;} tanggal;
tanggal date;
char bulan[10];
//algoritma
printf("Masukkan Tanggal :"); scanf("%d", &date.dd);
printf("Masukkan Bulan :"); scanf("%d", &date.mm);
printf("Masukkan Tahun :"); scanf("%d", &date.yy);
switch(date.mm)
{
case 1 : strcpy(bulan,"January");break;
case 2 : strcpy(bulan,"February");break;
case 3 : strcpy(bulan,"Maret");break;
case 4 : strcpy(bulan,"April");break;
case 5 : strcpy(bulan,"Mei");break;
case 6 : strcpy(bulan,"Juni");break;
case 7 : strcpy(bulan,"Juli");break;
case 8 : strcpy(bulan,"Agustus");break;
case 9 : strcpy(bulan,"September");break;
case 10 : strcpy(bulan,"Oktober");break;
case 11 : strcpy(bulan,"November");break;
case 12 : strcpy(bulan,"Desember");break;
default : printf("bulan yang anda masukkan salah");
}
printf("\nHasil Konversi : %d %s %d", date.dd, bulan, date.yy);
getch();
return 0;
}
Tulis hasil running program KonversiBulan.c
Bagian 2 :
Nama proyek : Praktikum102_NIM
Nama file : TambahMenit.c
Soal
Didefinisikan tipe jam dan variable J dan P sebagai berikut :
Type jam : record<hh: integer, {0..23}
mm: integer, {0..59}
ss:integer {0..59}>
J:jam
P:integer
Buatlah program yang :
1. Mengisi(assignment) variable J dengan jam 16:10:34
2. Membaca p menit dari piranti masukan
3. Mengubah nilai J setelah ditambah p menit
4. Menampilkan jam J yang baru
Buatlah algoritmanya
Program menghitung jam
{menghitung jam setelah ditambah sejumlah nilai menit}
//deklarasi
Type date : record(hh, mm, ss :integer)
jamawal, jamakhir : date
Minute : integer
//algoritma
Read (jamawal.hh, jamawal.mm, jamawal.ss, minute)
Jamakhir: jamawal.mm+minute
Write (jamawal.hh, jamakhir, jamawal.ss)
Terjemahkan algoritma di atas ke dalam bahasa C
#include <stdio.h>
#include <conio.h>
int main()
{
typedef struct {int hh; int mm; int ss;} date;
date j1, j2;
int p;
printf("masukkan jam :");scanf("%d:%d:%d", &j1.hh, &j1.mm, &j1.ss);fflush(stdin);
printf("Masukkan Menit :"); scanf("%d", &p);fflush(stdin);
j2.ss = j1.ss;
j2.mm = (j1.mm + p)%60;
j2.hh = (j1.hh + ((j1.mm + p - j2.mm)/60))%24;
printf("\nJam yang baru adalah %d:%d:%d", j2.hh, j2.mm, j2.ss);
getch ();
return 0;
}
Tulis hasil running program TambahMenit.c
Bagian 3 :
Nama proyek : Praktikum103_NIM
Nama file :.c
Soal
Dibaca dua buah tanggal(dd:mm:yy). 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
Buatlah algoritmanya
//selisih hari
{program menghitung selisih dari dua hari hasil imputan}
//deklarasi
Type date: record(hari, bulan, tahun : integer)
d1 ,d2 : date
selisih, tanggalawal, tanggalakhir : real
//algortima
Read(d1.hari, d1.bulan, d1. Tahun, d2.hari, d2.bulan, d2.tahun)
Tanggalawal : (d1.tahun * 365) + (d1.bulan * 30) + (d1.hari)
Tanggalakhir : (d2.tahun * 365) + (d2.bulan * 30) + (d2.hari)
Selisih : tanggalakhir - tanggalAwal
Write (selisih)
Terjemahkan algoritma di atas ke dalam bahasa C
#include <stdio.h>
#include <conio.h>
int main()
{
typedef struct {int dd; int mm; int yy;} date;
date d1, d2;
float h1, h2, h3;
printf("masukkan tanggal awal ");scanf("%d:%d:%d", &d1.dd, &d1.mm, &d1.yy);fflush(stdin);
printf("masukkan tanggal akhir ");scanf("%d:%d:%d", &d2.dd, &d2.mm, &d2.yy);fflush(stdin);
h1 = (d1.yy * 365 ) + (d1.mm * 30) + d1.dd;
h2 = (d2.yy * 365 ) + (d2.mm * 30) + d2.dd;
h3 = h2 - h1;
printf("selisih hari adalah :%.0f", h3);
getch ();
return 0;
}
Tulis hasil running JarakDuaTanggal.c
Bagian 4 : Kesimpulan
1. Tulis kesimpulan yang Anda dapatkan dari praktikum ini !
2. Apakah Anda mengalami kesulitan melakukan praktikum ini?
Kesimpulan
Memahami apa itu fungsi bentukan dan bagaimana cara mengimplementasikan dalam suatu algortima pemograman
Pertamanya mengalami kesulitan dalam hal memahami metode ini. Dengan banyaknya membaca dan mebuat latihan sekarang sudah mulai memahami
izin share yaa,, sangat membantu
BalasHapus