Anda di halaman 1dari 4

Soal Praktikum #3

B
Array

T
Tim Materi Pengenalan Komputasi 2022/2023

si I
20 Oktober 2022

ta
Petunjuk

pu
1. Kerjakan modul ini sesuai dengan materi yang diujikan (Array). Tidak perlu menggunakan materi yang
belum diujikan.

2. Perhatikan penamaan file terutama untuk ekstensi file (*.py). File tanpa ekstensi beresiko tidak dapat
dibuka oleh asisten sehingga kode program tidak dapat dikoreksi (nilai 0)
om
3. Pastikan program lulus compile dan dapat dijalankan.
4. Untuk setiap file source code program berikan identitas, minimum:

# NIM/Nama :
# Tanggal :
# Deskripsi :
nK

5. Seluruh file kode program di-compress dengan nama P03 NIM.zip sebelum dikumpulkan.
6. Kecuali dituliskan secara khusus, Anda dapat menganggap masukan user sesuai dengan kehendak
program.
ala

7. Penulisan kode sebaiknya menggunakan indentasi yang baik dan menambahkan komentar (kegunaan
sebuah variabel, percabangan, pengulangan, fungsi dan prosedur) sehingga mempermudah proses pen-
carian kesalahan pada program (debugging)
8. Kecurangan berupa copy-paste kode program dari peserta atau sumber lain akan memperoleh sanksi
tegas.
en

9. Dilarang meng-capture atau menyebarkan sebagian dan/atau seluruh soal ini. Pelanggaran akan dike-
nakan sanksi sesuai SOP yang berlaku.
10. Jika ada perbedaan antara instruksi di sini dan instruksi asisten, ikuti instruksi asisten.
ng

11. Selamat Mengerjakan!


Pe

1
Problem 1

Simpan dengan nama file: P03 NIM 01.py.

B
Tuan Leo berhasil membuat sebuah robot sederhana yang dapat bergerak pada ruang 2 dimensi. Perintah yang
diterima oleh robot berbentuk string yang jumlah elemennya sudah ditentukan sebelumnya. Ketentuannya
adalah sebagai berikut :

T
• R : right (kanan), artinya robot bergerak dari (x, y) ke (x + 1, y)

si I
• L : left (kiri), artinya robot bergerak dari (x, y) ke (x − 1, y)

• U : up (atas), artinya robot bergerak dari (x, y) ke (x, y + 1)


• D : down (bawah), artinya robot bergerak dari (x, y) ke (x, y − 1)

ta
• Perintah selain keempat huruf diatas akan diabaikan oleh robot

Robot mulai bergerak dari titik koordinat (0, 0). Tuan Leo ingin mengetahui posisi akhir dari robot, tetapi robot

pu
masih bergerak dengan sangat lambat dan Tuan Leo bukanlah orang yang sabar. Bantulah Tuan Leo untuk
menentukan posisi akhir dari robot.

Test Case 1
Masukkan jumlah perintah : 8
om
Masukkan perintah : RUDDLDUR
Posisi akhir robot berada pada koordinat (1, -1).

Penjelasan Test Case 1:


Jalan robot akan menjadi sebagai berikut:
nK

R: (0, 0) menjadi (1, 0)


U: (1, 0) menjadi (1, 1)
D: (1, 1) menjadi (1, 0)
D: (1, 0) menjadi (1, −1)
L: (1, −1) menjadi (0, −1)
D: (0, −1) menjadi (0, −2)
U: (0, −2) menjadi (0, −1)
ala

R: (0, −1) menjadi (1, −1), robot berhenti.

Test Case 2
Masukkan jumlah perintah : 20
Masukkan perintah : UUUUUDDDDDLLLLLRRFGD
en

Posisi akhir robot berada pada koordinat (-3, -1).

Test Case 3
ng

Masukkan jumlah perintah : 12


Masukkan perintah : RLUDDMNOPZUG
Posisi akhir robot berada pada koordinat (0, 0).
Pe

2
Problem 2

Simpan dengan nama file: P03 NIM 02.py.

B
Tuan Leo kembali tertarik pada aritmetika. Kali ini ia mau menjumlahkan digit ke-K dari setiap bilangan yang
dimilikinya. Akan tetapi karena untuk jumlah bilangan yang banyak memerlukan waktu penghitungan yang
relatif lama, bantulah Tuan Leo menyelesaikan permasalahnnya.

T
Catatan : jika nilai K lebih besar dari banyak digit suatu bilangan, maka tidak perlu dihitung.

si I
Test Case 1
Masukkan banyaknya bilangan : 3
Masukkan bilangan ke -1: 123
Masukkan bilangan ke -2: 4567
Masukkan bilangan ke -3: 8900

ta
Masukkan nilai K: 3
Jumlah dari semua digit ke 3 adalah 9.

pu
Penjelasan Test Case 1:
Jumlah bilangan pada digit ke 3 adalah 3 + 6 + 0 = 9

Test Case 2
om
Masukkan banyaknya bilangan : 5
Masukkan bilangan ke -1: 5467
Masukkan bilangan ke -2: 34232
Masukkan bilangan ke -3: 45456
Masukkan bilangan ke -4: 22222
Masukkan bilangan ke -5: 3455
Masukkan nilai K: 2
nK

Jumlah dari semua digit ke 2 adalah 19.

Test Case 3
Masukkan banyaknya bilangan : 4
Masukkan bilangan ke -1: 232323
ala

Masukkan bilangan ke -2: 12


Masukkan bilangan ke -3: 3456
Masukkan bilangan ke -4: 90000
Masukkan nilai K: 5
Jumlah dari semua digit ke 5 adalah 2.
en
ng
Pe

3
Problem 3

Simpan dengan nama file: P03 NIM 03.py.

B
Tuan Leo diberikan sepotong list yang terdiri dari N elemen. Bantulah Tuan Leo untuk menentukan banyaknya
potongan list (potongan list adalah hasil dari pemilihan beberapa indeks berurutan pada list) yang memiliki
jumlah genap.

T
Contoh 1

si I
Masukkan nilai N: 5
Masukkan bilangan ke -1: 1
Masukkan bilangan ke -2: 2
Masukkan bilangan ke -3: 3
Masukkan bilangan ke -4: 4
Masukkan bilangan ke -5: 5

ta
Terdapat 6 potong list yang jumlahnya genap.

Penjelasan Contoh 1:

pu
Potongan list yang jumlah elemennya genap adalah [1, 2, 3], [1, 2, 3, 4], [2], [2, 3, 4, 5], [3, 4, 5], dan [4]

Contoh 2
Masukkan nilai N: 6
om
Masukkan bilangan ke -1: 1
Masukkan bilangan ke -2: 8
Masukkan bilangan ke -3: 17
Masukkan bilangan ke -4: 2
Masukkan bilangan ke -5: 6
Masukkan bilangan ke -6: 1
Terdapat 9 potong list yang jumlahnya genap.
nK

Contoh 3
Masukkan nilai N: 5
Masukkan bilangan ke -1: 2016
Masukkan bilangan ke -2: 2018
ala

Masukkan bilangan ke -3: 2020


Masukkan bilangan ke -4: 2022
Masukkan bilangan ke -5: 2024
Terdapat 15 potong list yang jumlahnya genap.
en
ng
Pe

Anda mungkin juga menyukai