Anda di halaman 1dari 5

Tugas Kelas PMC 2019 | Tugas Kelas 1 1

Tugas Kelas PMC Semester 2 2018 – 2019


EL2008 – Pemecahan Masalah dengan C

Petunjuk Umum
1. Source code dikumpul dalam format .zip ke bit.ly/tugasPMC maksimal Selasa, 16 April
2019 23.59
2. Format input dan output dari program harus sesuai dengan STDIN dan STDOUT dari
contoh kasus yang diberikan.
3. Tuliskan asumsi yang anda tentukan sendiri.

Source Code
1. Format penamaan NIM_Tugas Kelas_XX.zip dengan NIM adalah nomor induk
mahasiswa praktikan dan XX adalah nomor tugas (contoh: untuk tugas kelas 1,
13215045_Tugas Kelas_01.zip)
2. Contoh Struktur Folder didalam zip adalah sebagai berikut
13215045_Tugas Kelas_01.zip
∟ ∟ problem1/
∟ problem1.c
∟ problem2/
∟ problem2.c
∟ problem3/
∟ problem3.c
∟ lib.c (opsional)
∟ lib.h (opsional)
3. Pada awal kode, tambahkan komentar berikut
//***********************************************************//
// [ Source Code ]
//
// Institution : Institut Teknologi Bandung
// Name : <Nama Mahasiswa>
// Module : <Nomor Tugas Kelas, misalnya 01>
// Problem : <Nomor Problem, misalnya 01>
// File Name : problem1.c
// Dependency : stdio.h, math.h, dst...
//
// Description:
// Please only write 64 characters maximum. If you write
// more than 64, please write it on the next line. Thanks!
//***********************************************************//
Untuk kemudahan, dapat digunakan link ini agar dapat disalin dengan format
http://bit.ly/HeaderPPMC
4. Silakan berdiskusi tapi tidak diperkenankan menyontek.
Segala bentuk plagiarisme akan diproses mengikuti aturan dan kebijakan ITB.

EL2008 –Pemecahan Masalah dengan C


Tugas Kelas PMC 2019 | Tugas Kelas 1 2

Problem 1 – Program Pembuat Laporan Praktikum


Mr. Fur adalah seorang yang sangat rajin membuat laporan praktikum. Saking rajinnya, Mr. Fur
membuat aplikasi office sendiri untuk membuat laporan praktikumnya. Sayangnya, Mr. Fur terlalu
asyik membuat aplikasi sehingga lupa fitur dasar pada aplikasi Office yaitu, undo dan redo.

Bantulah Mr. Fur untuk menyelesaikan fitur undo dan redo dalam aplikasi Office yang sedang
dibuatnya.

Deskripsi Masalah

• Buatlah sebuah program yang menerima input string


• Jika string yang diinput BUKAN undo atau redo, maka string tersebut dimasukkan ke
dalam stack
• Jika string yang diinput adalah undo, maka munculkan string terakhir kedua yang diinput
ke dalam stack
• Jika string yang diinput adalah redo, maka munculkan string terakhir yang telah dilakukan
undo
• Program berhenti jika tidak ada stack yang dapat di-undo
• Program berhenti jika tidak ada stack yang dapat di-redo
• Wajib menggunakan Stack!
• Tips : Bayangkan fitur undo dan redo pada Microsoft Office

Contoh Kasus
Input STDIN
Laporan
Praktikum
EL2008
Pemecahan
undo
undo
redo
Masalah
dengan
Nilai
C
undo
redo
redo

EL2008 –Pemecahan Masalah dengan C


Tugas Kelas PMC 2019 | Tugas Kelas 1 3

Output STDOUT
Masukkan input:
EL2008
Praktikum
EL2008
Nilai
C

EL2008 –Pemecahan Masalah dengan C


Tugas Kelas PMC 2019 | Tugas Kelas 1 4

Problem 2 – Penghitung Benda Langit


Mas Aji adalah penganut mazhab bumi sebagai pusat tata surya. Menurut dia, semua benda langit
berputar mengelilingi bumi. Dia juga percaya bahwa Thanos akan bangkit jika semua benda langit
tersebut berada di garis yang sama. Oleh karena itu, Mas Aji harus mempersiapkan diri untuk
menghadapi Thanos sehingga Mas Aji harus mengetahui kapan Thanos bangkit.

Bagi Mas Aji, semua benda langit mempunyai kecepatan perputarannya masing-masing terhadap
Bumi. Setiap benda langit mempunyai titik awalnya masing-masing dalam bentuk 2 Dimensi, yaitu
P.x dan P.y. Mas Aji juga percaya bahwa semua benda langit tersebut memutari Bumi berlawanan
arah jarum jam dalam lintasan lingkaran sempurna. Bantu Mas Aji mengetahui kapan Thanos
Bangkit.

Satu-satunya cara untuk memberi tahu Mas Aji kapan Thanos bangkit adalah dengan mengirim file
eksternal dengan format txt

Deskripsi Masalah
• Buatlah program untuk menginput koordinat dan kecepatan sudut (P.x, P.y, omega) dari
file eksternal bendalangit.txt
• Satuan P.x dan P.y adalah meter, satuan omega adalah derajat per sekon
• Setiap input tersebut masuk ke dalam Queue benda langit
• Ketika input berhenti, munculkan waktu yang diperlukan agar semua benda langit tersebut
berada dalam satu garis lurus (dalam sekon)
• Waktu tersebut dimasukkan ke dalam file eksternal kirimaji.txt
• Semua benda langit mempunyai kecepatan yang berbeda (tidak perlu dicek)
• Tidak ada benda langit yang saling bertabrakan satu sama lain
• Wajib menggunakan queue!
• Tips : gunakan toleransi yang anda set sendiri

Contoh Kasus
Contoh Kasus 1:

Input dari file bendalangit.txt


051
10 0 2

Output ke file kirimaji.txt


89.999199 sekon

EL2008 –Pemecahan Masalah dengan C


Tugas Kelas PMC 2019 | Tugas Kelas 1 5

Contoh Kasus 2:

Input dari file bendalangit.txt


5 5 22.5
0.5 0.87 30
0 5 45

Output ke file kirimaji.txt


2 sekon

EL2008 –Pemecahan Masalah dengan C

Anda mungkin juga menyukai