Belajar Pemrograman

Iseng mau share salah satu source code dari tugas praktikum. Karena waktu praktikum dan pengumpulan tugas sudah lewat jauh, jadi bisa di-share.

Ini contoh permasalahan yang akan kita buat programnya:

_____________________________

Pada hari libur ozin bangun kesiangan , dia lupa bahwa hari ini sekolahnya mengadakan study tour ke pangandaran, karena ia tidak memiliki kendaraan pribadi, dia memilih untuk naik kendaraan umum,tentukan pukul berapa ozin tiba ke tempat pariwisata, menggunakan kendaraan apa,juga tentukan berapa biayaya yang ia habiskan?
dengan ketentuan harga dan waktu perjalanan seperti ini :

menu :
1. angkot
waktu : 350 menit 30 detik
harga : 25000
2. bis
waktu : 140 menit 40 detik
harga : 50000
3. pesawat
waktu : 47 menit 50 detik
harga : 1000000
4. kereta
waktu : 120 menit 30 detik
harga : 75000

(macet dan halangan lain diabaikan)

input
jam bangun
kendaraan menu
output
jam tiba
nama kendaraan
biaya yang dihabiskan

contoh :
input
06 00 00
2
output
08 20 40
bis
50000

_____________________________

Nah bagaimana source code-nya? Ini adalah source code yang saya tulis dan berhasil, hehe. Semoga bisa menjadi bahan pembelajaran. Dan ingat, utamakan kejujuran dan hindari kecurangan.

Source Code:

#include <stdio.h>

//membuat bungkusan untuk menu yang berisi waktu dan harga
typedef struct{
int waktu,harga;
}menu;

//membuat bungkusan untuk jam yang berisi hours, minute, dan second
typedef struct{
int h,m,s;
}jam;

int main(){

//membuat variable
menu angkot,bis,pesawat,kereta;
jam bangun,tiba;
int count,pilih,a,b,c,d;

//menentukan isi variable yang telah dibuat
angkot.waktu=21030;
angkot.harga=25000;
bis.waktu=8440;
bis.harga=50000;
pesawat.waktu=2870;
pesawat.harga=1000000;
kereta.waktu=7230;
kereta.harga=7500;

//inputan yang akan diinput oleh user
scanf(“%d %d %d”,&bangun.h,&bangun.m,&bangun.s);

//mengubah waktu yang diinput oleh user menjadi satuan second
count=(bangun.h*3600)+(bangun.m*60)+bangun.s;
//menambahkan hasil count dengan jumlah detik setiap kendaraan
a=count+angkot.waktu;
b=count+bis.waktu;
c=count+pesawat.waktu;
d=count+kereta.waktu;

//user menginput pilihan kendaraan
scanf(“%d”,&pilih);
switch(pilih){
//hasil output jika user memilih angkot
case 1:{
tiba.h=a/3600;
tiba.m=(a%3600)/60;
tiba.s=(a%3600)%60;
printf(“%.2d %.2d %.2d\n”,tiba.h,tiba.m,tiba.s);
printf(“angkot\n”);
printf(“Ongkos: %d\n”,angkot.harga);
}break;

//hasil output jika user memilih bis
case 2:{
tiba.h=b/3600;
tiba.m=(b%3600)/60;
tiba.s=(b%3600)%60;
printf(“%.2d %.2d %.2d\n”,tiba.h,tiba.m,tiba.s);
printf(“bis\n”);
printf(“%d\n”,bis.harga);
}break;

//hasil output jika user memilih pesawat
case 3:{
tiba.h=c/3600;
tiba.m=(c%3600)/60;
tiba.s=(c%3600)%60;
printf(“%.2d %.2d %.2d\n”,tiba.h,tiba.m,tiba.s);
printf(“pesawat\n”);
printf(“%d\n”,pesawat.harga);
}break;

//hasil output jika user memilih kereta
case 4:{
tiba.h=d/3600;
tiba.m=(d%3600)/60;
tiba.s=(d%3600)%60;
printf(“%.2d %.2d %.2d\n”,tiba.h,tiba.m,tiba.s);
printf(“kereta\n”);
printf(“%d\n”,kereta.harga);
}break;
}

 

return 0;

}

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s