Pengumpulan tugas:
• Batas waktu pengumpulan di Google Classroom, perhatikan jam server.
• Soft copy melalui ke Google Classroom, lampirkan SEMUA FAIL (.DOCX/PDF, .PAS, dll.)
dengan terkompres ZIP/RAR dengan format:
[T1][PD-PRODI-KELAS] NamaMahasiswa.ZIP
• PRODI diisi inisial prodi: TIF (Teknik Informatika), TKOM (Teknik Komputer), SI
(Sistem Informasi)
• KELAS diisi kode kelas misal A, B, C, dst.
• NamaMahasiswa maksudnya tidak perlu menuliskan semua nama anggota, tapi
nama satu anggota saja, sebagai ketua kelompok/penanggung jawab unggahan.
Tugas akan dibahas saat kuliah. Apabila ada yang tidak dimengerti atau memerlukan bantuan
silakan ditanyakan melalui email atau menemui langsung.
2
B. FORMAT DAN STRUKTUR PENGERJAAN TUGAS
c. Source Code (wajib ada, diketik dengan font Consolas/Courier New seperti contoh). Untuk
penomoran, pilih satu kolom lalu gunakan Numbering di Microsoft Word.
Source Code Untuk Menampilkan Input dan Output
1 (*
2 Nama 1: NAMA MAHASISWA 1 (NIM)
3 Nama 2: NAMA MAHASISWA 2 (NIM)
4 dst...
8 *)
9 Program Coba;
10 var
11 x: integer;
12 Begin
13 Write('Masukkan x = ');
14 ReadLn(x);
15 if (x mod 2 = 0) then
16 x := x+1;
17 else
18 x := x+2;
19 WriteLn('Hasilnya adalah ', x);
20 End.
3
d. Pembahasan/Penjelasan dari Source Code (wajib ada)
Contoh pembahasan
Baris 14, variabel x bertipe integer akan diisikan dari masukan keyboard. Baris 15 hingga
18, akan menyeleksi kondisi sesuai isi dari x. Apabila x bernilai genap, maka akan
mencetak hasil x+1, sedangkan bila tidak maka akan mencetak x+2.
C. TUJUAN TUGAS:
D. DESKRIPSI TUGAS:
Tugas ini dititikberatkan tentang dasar-dasar pemrograman antara lain deklarasi variabel untuk
menampung nilai data, memanipulasi suatu variabel, serta proses sequence, input, output, seleksi
kondisi, dan iterasi.
1. Buatlah pseudocode, flowchart, program untuk menghitung selisih jam, menit berdasarkan
masukkan dengan format hh:mm.
Masukkan jam mulai = 09:30
Masukkan jam selesai = 10:45
Selisihnya adalah 1 jam 15 menit
2. Buatlah pseudocode, flowchart, program untuk mengonversi suhu dari Celcius ke Kelvin dan
Fahrenheit.
Masukkan suhu dalam Celcius = 75
4
3. Buatlah program (dan screenshot) untuk membuat nota pembelian makanan (invoice) suatu
restoran. Program ini akan digunakan oleh kasir. Tampilan input-output yang digunakan
masih sangat sederhana sebagai suatu prototipe.
Customer Seat : C01
Customer Name : Bill Gates
Order Price:
Meal, Qty : 15000 1
Beverage, Qty : 20000 2
Dessert, Qty : 10000 1
Payment Money : 100000
<<Printing Invoice>>
Customer ID : C01
Customer Name : Bill Gates
Date : 2019-09-10
Keterangan:
• Untuk masukan order price, masukan berupa harga diikuti banyaknya yang dibeli
(dipisahkan spasi). Misalnya 20000 2 artinya 2 produk seharga Rp20.000,- dengan
subtotal harga Rp40.000,-
• Customer Seat adalah nomor tempat duduk, diawali dengan huruf A,B,C, dst. dan
diikuti oleh angka terserah.
• Date adalah tanggal sekarang dituliskan dengan format YYY-MM-DD
• Subtotal dihitung dari Price × Qty
• Total dihitung dari penjumlahan subtotal Meal, Beverage, dan Dessert.
Bila Total lebih dari Rp500.000,- maka berikan Discount sebesar 2,5% dari Total
Bila kurang dari itu maka tidak perlu diberikan Discount.
• Change = Payment – (Total – Discount)
5
4. Buat program (dan screenshot) untuk menampilkan tampilan seperti berikut. Banyak
baris/lebar kolom dapat ditentukan sesuai masukan. Di akhir program pengguna akan ditanya
untuk mengulangi atau tidak dengan pertanyaan “Ingin ulangi lagi (Y/T)?”.
Pengulangan dari awal dilakukan selama pengguna mengetikkan ‘Y’ atau ‘y’. Pertanyaan
“Ingin ulangi lagi (Y/T)?” akan selalu diulangi apabila jawaban yang dimasukkan bukan
‘Y’, ‘y’, ‘T’, ’t’.
Contoh tampilan
run:
Masukkan banyak baris/lebar kolom = 4
****
****
****
****
Ingin ulangi lagi (Y/T)? 8
Ingin ulangi lagi (Y/T)? y
Masukkan banyak baris/lebar kolom = 7
*******
** **
* * * *
* * *
* * * *
** **
*******
Ingin ulangi lagi (Y/T)? y
Masukkan banyak baris/lebar kolom = 10
**********
** **
* * * *
* * * *
* ** *
* ** *
* * * *
* * * *
** **
**********
Ingin ulangi lagi (Y/T)? y
Masukkan banyak baris/lebar kolom = 15
***************
** **
* * * *
* * * *
* * * *
* * * *
* * * *
* * *
* * * *
* * * *
* * * *
6
* * * *
* * * *
** **
***************
Ingin ulangi lagi (Y/T)? t