H03 Python
H03 Python
Array
Petunjuk
1. Kerjakan modul ini sesuai dengan materi yang diujikan (Input, Output, dan Percabangan). 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)
3. Pastikan program lulus compile dan dapat dijalankan.
# NIM/ Nama :
# Tanggal :
# Deskripsi :
5. Seluruh file kode program di-compress dengan nama H03 NIM.zip sebelum dikumpulkan.
6. Kecuali dituliskan secara khusus, Anda dapat menganggap masukan user sesuai dengan
kehendak program.
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.
9. Jika ada perbedaan antara instruksi di sini dan instruksi asisten, ikuti instruksi asisten.
#NIM/Nama :
#Tanggal :
#Deskripsi :
# Menuliskan kebalikan urutan inputan angka
# Menerima input N buah integer
# Prekondisi : N valid (N > 0)
‘’’
KAMUS
N : integer
arr : array [1..N] of integer
i : integer {increment}
‘’’
#ALGORITMA
N = int(input(“Masukkan N: “))
arr = [0 for i in range(N)] #inisialisasi array
#Mengisi array
for i in range(N):
arr[i] = int(input())
#Deskripsi :
# Program memeriksa anagram dari dua buah array
# Menerima input 2 buah array berukuran A dan B
# Prekondisi : A dan B valid (> 0)
# Nilai maks elemen A dan B adalah 10
‘’’
KAMUS
A, B , i : integer
arrA , freqA : array [1..A] of integer
arrB, freqB : array [1..B] of integer
‘’’
#ALGORITMA
A = int(input(“Masukkan banyaknya elemen A: “))
arrA = [0 for i in range(A)] #inisialisasi
freqA = [0 for i in range(A)]
#ISI arrA
for i in range(A):
arrA[i] = int(input(“A ke-{}: ”.format(i+1)))
#Menambahkan frequensi nilai
freqA[arrA[i]] += 1
#ISI arrB
for i in range(B):
arrB[i] = int(input(“B ke-{}: ”.format(i+1)))
#Menambahkan frequensi nilai
freqB[arrB[i]] += 1
if(freqA == freqB):
print(“B anagram dari A)
else:
print(“B bukan anagram dari A”)
Solusi Problem 3 (Alternatif 1)
#NIM/Nama :
#Tanggal :
#Deskripsi :
# Memeriksa sebuah kata palindrom atau bukan
# Menerima input kata sepanjang N
# Mencetak apakah kata tersebut palindrom / bukan
# Prekondisi : N valid (> 0) dan kata lowercase
‘’’
KAMUS
N,i : integer
kata : array [1..N] of character
isPalindrom : boolean
‘’’
#ALGORITMA
N = int(input(“Masukkan panjang string: “))
kata = input(“Masukkan string”)
#inisialisasi
isPalindrom = True
i = 1
while((i < N//2) and (isPalindrom)):
if(kata[i] != kata[N-1-i]):
isPalindrom = False
else:
i += 1
#endwhile
if(isPalindrom):
print(kata, “merupakan palindrom”)
else:
print(kata, “bukan palindrom”)
Solusi Problem 3 (Alternatif 2)
#NIM/Nama :
#Tanggal :
#Deskripsi :
# Memeriksa sebuah kata palindrom atau bukan
# Menerima input kata sepanjang N
# Mencetak apakah kata tersebut palindrom / bukan
# Prekondisi : N valid (> 0) dan kata lowercase
‘’’
KAMUS
N,i : integer
kata , kata_inv : array [1..N] of character
‘’’
#ALGORITMA
N = int(input(“Masukkan panjang string: “))
kata = input(“Masukkan string”)
#inisialisasi
kata_inv = [‘*’ for i in range(N)]
for i in range(N):
kata_inv[i] = kata[N-1-i]
if(kata_inv == kata):
print(kata, “merupakan palindrom”)
else:
print(kata, “bukan palindrom”)