Anda di halaman 1dari 14

TEKNIK PEMOGRAMAN

TUGAS 1

RENCANA PERJALANAN KERETA API

OLEH GILANG SATRIA AJIE

NIM : I0717017

UNIVERSITAS SEBELAS MARET


Rumusan masalah
1. Kereta A dan Kereta B berangkat dari stasiun yang sama Solo Balapan menuju Jakarta Gambir
yang berjarak 600 km. Kreta A berangkat pukul 18:00 dengan kecepatan 75 km/jam. Kereta B
berangkat pukul 20:00 dengan kecepatan 50km/jam. Berapakah waktu dan jarak agar kereta
B dapat menyusul kereta A?
2. Kereta A berangkat dari stasiun Solo balapan pukul 18:00 dengan kecepatan 50 km/jam,
sedangkan kereta B berangkat dari stasiun Jakarta Gambir pukul 16:00 dengan kecepatan 75
km/jam. Pada jam berapakah kedua kereta tersebut bertemu/berpapasan? Dan berapa jarak
kereta A untuk berpapasan? Jika jarak kedua stasiun 600 km.

A. Model matematika

1. Diketahui = Kereta A – Pukul 20:00


V = 75 km/jam
Kereta B -- Pukul 18:00
V = 50 km/jam
S = 600 km

Ditanya = t .. ?

Jawab

Agar kita bisa menyelesaikan soal model seperti ini, langkah pertama adalah mencari
selisih jam keberangkatan antara kedua kereta tsb. Setelah itu kita tahu mana kereta yang
berangkat dahulu, kita mencari jarak kereta yang berangkat lebih dulu pada saat jam yang
sama dengan kereta yang baru mulai berangkat dengan mengkalikan antara kecepatan kereta
yang berangkat terakhir dengan selisih waktu berangkat. Untuk bisa mencari waktu temunya,
kita harus mencari selisih kecepaanya juga. Setelah itu kita masukkan kedalam rumus :

Δ S Vkab (JA−JA)
t= =
ΔV Vkaa−Vkab
50 (20: 00−18 : 00)
¿
75−50
50 (2)
= 25

= 4 jam
Atau juga bisa didapat dengan persamaan

S=S

Vkaa x t = (Vkab x t) + ( Vkab x (JA-JA))

Jadi, kereta A akan menyusul kereta B pada jam 20:00 + 4 jam = 24:00

Pada jarak ----- Vkaa x t = 75 km x 4 jam = 300km

B. Algoritma

1. Start
2. Masukkan kecepatan dan waktu berangkat kereta A (Vkaa, JhA, JmA)
3. Masukkan kecepatan dan waktu berangkat kereta B (Vkab, JhB, JmB)
4. Hitung waktu dalam satuan jam
5. Apakah Vkaa lebih besar dari pada Vkab ?
6. Dan apakah waktu berangkat kereta A lebih besar dari pada kereta B? (JA>JB)
7. Jika iya, maka hitung S dan hitung V sehingga t dapat dicari
8. Hitung t dengan konversi jam kedalam menit (ht,mt)
9. Hitung jam yang saat kereta A menyusul kereta B (hTsusul,mTsusul)
10. Hitung jarak yang ditempuh kereta A untuk menyusul kereta B(Ssusul)
11. Apakah hTsusul melebihi 24 jam ?
12. Jika iya maka kurangkan hTsusul dengan 24
13. Jika tidak, lanjut
14. Cetak ht,mt,hTsusul,mTsusul,dan Ssusul
15. Jika tidak, maka cetak input salah!!
16. end

C. Diagram Alir
START

INPUT DATA KERETA A DAN KERETA B

Vkaa,Vkab,ThA,TmA,ThB,TmB

JA = ThA + ( TmA / 60 )

JB = ThB + ( TmB / 60 )

S = Vkab * ( JA – JB )
Y
JA>JB&vkaa>vkab? hT = JA

mT = ( JA – hT ) * 60

N V = Vkaa – Vkab

VS = Vkaa

t=S/V

ht = t

mt = (t- (int) t) * 60

hTsusul = ht + hT

mTsusul = mt + mT

Ssusul = VS * t

A B
A B

hTsusul>24 ? hTsusul = hTsusul - 24

Input salah !!
Cetak Hasil

END

D. Program C

#include <stdio.h>
int main()
{
int ThA,TmA,Vkaa,ThB,TmB,Vkab,VS,mTsusul,hTsusul,Ssusul,hT,mT,ht;
double JA,JB,t,V,S,mt;
printf("===========================================================\n");
printf("===========PROGRAM RENCANA PERJALANAN KERETA API===========\n");
printf("=====JIKA KEDUA KERETA BERANGKAT DARI STASIUN YANG SAMA====\n");
printf("===By Gilang Satria Ajie--I0717017--Teknik Elektro 2017====\n");
printf("===========================================================\n\n");
printf("Masukkan data kereta A (berangkat terakhir)\n");
printf("\tJam berangkat (hh mm) = ");
scanf("%d %d",&ThA ,&TmA);
printf("\tKecepatan kereta (km/jam)= ");
scanf("%d",&Vkaa);
printf("\nMasukkan data kereta B (berangkat pertama)\n");
printf("\tJam berangkat (hh mm) = ");
scanf("%d %d",&ThB ,&TmB);
printf("\tKecepatan kereta (km/jam)= ");
scanf("%d",&Vkab);
//konfersi kedalam jam
JA=ThA+(TmA/60);
JB=ThB+(TmB/60);
//menghitung total jarak
if(JA>JB&&Vkaa>Vkab){
S=Vkab*(JA-JB);
hT=JA;
mT=(JA-hT)*60;
//selisih kecepatan
V=Vkaa-Vkab;
VS=Vkaa;
//rumus utama
t=S/V;
//l=konversi jam ke menit
ht=t;
mt=(t-(int)t)*60;
//perhitungan yang ditanyakan
hTsusul=ht+hT;
mTsusul=mt+mT;
Ssusul=VS*t;

//maksimal jam
if(hTsusul>24){
hTsusul=hTsusul-24;
}
printf("\nMaka, waktu yang diperlukan kereta A untuk menyusul B adalah %djam
%.0fmenit ",ht,mt);
printf("\nKereta A akan menyusul B pada jarak %dkm pada pukul %.2d:
%.2d\n\n",Ssusul,hTsusul,mTsusul);
}
else{
printf("===============input salah !!!===============\n\n");
}

return 0;
}

E. Output Program

A. Model matematika

2. Diketahui = Kereta A – Pukul 16:00


V = 75 km/jam
Kereta B -- Pukul 18:00
V = 50 km/jam
S = 600 km
Ditanyakan = t bertemu saat kedua kereta berpapasan ?

Jawab

Agar kita bisa menyelesaikan soal model seperti ini, langkah pertama adalah mencari
selisih jam keberangkatan antara kedua kereta tsb. Setelah itu kita tahu mana kereta yang
berangkat dahulu, kita mencari jarak kereta yang berangkat lebih dulu dari stasiun A pada
saat jam yang sama dengan kereta yang baru mulai berangkat dari stasiun B dengan cara
mencari selisih antara jarak stasiun A ke B dengan jarak yang ditempuh kereta yang pertama
berangkat diwaktu yang sama dengan jam keberangkatan kereta ke 2. Untuk bisa mencari
waktu temunya, kita harus menjumlahkan kecepaanya Karena arahnya berlawanan. Setelah
itu kita masukkan kedalam rumus :

ΔS Stotal−(Vkaa x (tkaa−tkab))
t= =
V Vkaa+ Vkab
600−( 75 x 18: 00−16 : 00)
¿
75+50
600−150
¿
125

= 3.6 jam
Atau bisa dengan persamaan

S + S = 600km

(( Vkaa x (JA-JA)) + Vkaa x t) + (Vkab x t) = 600km

Vkaa x (2+t) + Vkab x t = 600km

B. Algoritma

1. Start
2. Masukkan kecepatan dan waktu berangkat kereta A (Vkaa, JhA, JmA)
3. Masukkan kecepatan dan waktu berangkat kereta B (Vkab, JhB, JmB)
4. Masukkan jarak stasiun X ke Y
5. Hitung waktu dalam satuan jam
6. Apakah waktu berangkat kereta A lebih besar dari pada kereta B? (JA>JB)
7. Jika iya, maka hitung S dengan melihat kereta B dan simpan variable jam dan menitnya
8. Jika tidak, sebaliknya
9. Hitung jumlah kecpatan total (V)
10. Apakah Vkaa>Vkab
11. Jika iya, maka VS=Vkab yaitu var tersimpan untuk ditambahkan dengan tberpapasan
12. Jika tidak, maka VS=Vkaa
13. Hitung t dengan konversi jam kedalam menit (ht,mt)
14. Hitung jam yang saat kereta A berpapasan dengan kereta B (hTberpapasan,mTberpapasan)
15. Hitung jarak yang ditempuh kereta B untuk berpapasan dengan kereta A(Sberpapasan)
16. Apakah hTsusul melebihi 24 jam ?
17. Jika iya maka kurangkan hTsusul dengan 24
18. Jika tidak, lanjut
19. Cetak ht,mt,hTsusul,mTsusul,dan Ssusul
20. end

C. Diagram Alir

Start

INPUT DATA KERETA A DAN KERETA B

Vkaa,Vkab,ThA,TmA,ThB,TmB S= Jarak - (Vkab * (JA-JB))


INPUT
JA = JARAK
ThA + (STASIUN
TmA / 60X)KE Y hT = JA

JB = Vkaa>Vkab
ThB ? ?/ 60 )
T +=C(V/S
JA>JB TmB VS -=hT)
mT = (JA Kab* 60
S= Jarak - (Vkaa * (JB-JA))

hT = JB

mT = (JB - hT) * 60

V = Vkaa + Vkab

VS = Kaa

ht = t

mt = (t- (int) t) * 60

hTberpasangan = ht + hT

mTberpasangan = mt + mT

Sberpasangan = VS * t
hTsusul>24 ? hTsusul = hTsusul - 24

Cetak Hasil

end

D. Program C

#include <stdio.h>

int main()

{
int ThA,TmA,Vkaa,ThB,TmB,Vkab,VS,mTberpapasan,hTberpapasan,Sberpapasan,ht,hT,mT,Jarak;

double JA,JB,t,mt,V,S;

printf("===========================================================\n");

printf("===========PROGRAM RENCANA PERJALANAN KERETA API===========\n");

printf("===JIKA KEDUA KERETA BERANGKAT DARI STASIUN YANG BERBEDA===\n");

printf("===By Gilang Satria Ajie--I0717017--Teknik Elektro 2017====\n");

printf("===========================================================\n\n");

printf("Masukkan data kereta A (stasiun X)\n");

printf("\tJam berangkat (hh mm) = ");

scanf("%d %d",&ThA ,&TmA);

printf("\tKecepatan kereta (km/jam)= ");

scanf("%d",&Vkaa);

printf("Masukkan data kereta B (stasiun Y)\n");

printf("\tJam berangkat (hh mm) = ");

scanf("%d %d",&ThB ,&TmB);

printf("\tKecepatan kereta (km/jam)= ");

scanf("%d",&Vkab);

printf("\nJarak stasiun X ke Y(km) = ");

scanf("%d",&Jarak);

//konfersi kedalam jam

JA=ThA+(TmA/60);

JB=ThB+(TmB/60);

//menghitung total jarak

if(JA>JB){

S=Jarak-(Vkab*(JA-JB));

hT=JA;

mT=(JA-hT)*60;

}
else{

S=Jarak-(Vkaa*(JB-JA));

hT=JB;

mT=(JB-hT)*60;

//total kecepatan

V=Vkab+Vkaa;

//kondisi untuk rumus jarak

if(Vkaa>Vkab){

VS=Vkab;

else{

VS=Vkaa;

//rumus

t=S/V;

ht=t;

mt=(t-(int)t)*60;

hTberpapasan=ht+hT;

mTberpapasan=mt+mT;

Sberpapasan=VS*t;

//maksimal jam

if(hTberpapasan>24){

hTberpapasan=hTberpapasan-24;

printf("\n\nmaka, waktu berpapasan adalah %d jam %.0f menit ",ht,mt);

printf("\nkereta tersebut akan berpapasan pada pukul %.2d:%.2d",hTberpapasan,mTberpapasan);


printf("\npada jarak %d km dari kereta terakhir berangakat\n\n",Sberpapasan);

return 0;

E. Output Program

Anda mungkin juga menyukai