Pos

gg

Algoritma & Pemrograman – Tipe Data Bentukan (Praktikum)

Tujuan Praktikum:

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

1

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!

2

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 Melihat Jadwal

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!

3

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?

Yang saya pelajari dari praktikum ini adalah:

  • Mampu mendeklarasikan tipe data bentukan sesuai dengan kebutuhan penyelesaian permasalahan
  • Mampu memanipulasi variabel bertipe data bentukan dengan menggunakan operator yang tepat

Kesimpulan yang dapat saya tarik dari praktikum kali ini adalah dengan memahami tipe data bentukan dan ruang lingkupnya maka suatu penyelesaian dapat diperoleh untuk memecahkan suatu permasalahan dengan menggunakan variabel bertipe data bentukan dan operator yang tepat.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

 

[lockercat]

[/lockercat]