Algoritma Pemrograman Bab 9 - 13

Untuk bab 1 sampai UTS bab 8 bisa cek di https://agusnurwantomuslim.blogspot.com/2022/10/kelas-algoritma-pemrograman.html

[09]: Studi Kasus Tumpukan (Stack)

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan. Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Studi Kasus Tumpukan (Stack). Selamat belajar!


Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma:
  1. Membalik kalimat
  2. Membalik bilangan
Materi PDF: TI307-09: Studi Kasus Tumpukan (Stack)



Tugas 09: Studi Kasus Tumpukan (Stack)
  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-09: Studi Kasus Tumpukan (Stack), soal latihan 8.3 di halaman 70.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!
8.3 Soal Latihan

Buatlah flowchart untuk mengecek suatu kalimat termasuk palindrom apa bukan.
Kalimat palindrom adalah kalimat yang susunannya sama dengan keadaan terbaliknya.

Contoh:

Input: Masukkan kalimat = “KASUR RUSAK”
Output: Kalimat termasuk palindrom

Input: Masukkan kalimat = “MAKAN MALAM”
Output: Kalimat tidak termasuk palindrom 

Jawab: 


[10]: Studi Kasus Konversi Bilangan

Assalamu 'Alikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan. Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Studi Kasus Konversi Bilangan. Selamat belajar!


Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma konversi bilangan.


Aplikasi converter desimal ke biner dan sebaliknya: https://www.rapidtables.com/convert/number/binary-to-decimal.html

Tugas 10: Studi Kasus Konversi Bilangan

  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-10: Studi Kasus Konversi Bilangan, soal latihan 9.3 di halaman 78.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

9.3 Latihan

9.3.1 Permasalahan

Buatlah flowchart untuk konversi bilangan desimal negatif ke biner (maksimum bilangan=-127).

Contoh:
Masukkan bilangan desimal : -1
Bilangan biner : 11111111

Masukkan bilangan desimal : -13
Bilangan biner : 11110011

9.3.2 Cara Penyelesaian Masalah

Karena batasan permasalahan bahwa maksimum bilangan adalah -127, maka total bit
yang dipakai adalah sebanyak 8 bit. Pertama kali, signed bit (bit pada depan) diset dengan
nilai 1 sebagai tanda negatif. Sisa 7 bit yang lainnya adalah nilai bit hasil konversi dari input
bilangan desimal yang positif. Selanjutnya, 7 bit sisa tersebut (tidak termasuk signed bit)
dibalik nilainya (0 menjadi 1, 1 menjadi 0). Kemudian 7 bit sisa ditambahkan dengan nilai bit1. Susunan bit keseluruhannya adalah hasil dari konversi desimal negatif. Untuk lebih
mudahnya, perhatikan ilustrasi berikut:



Jawab:



[11]: Studi Kasus Operasi Matriks

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.


Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Studi Kasus Operasi Matriks. Selamat belajar!



Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma matrix.


Materi video 2:


Tugas 11: Studi Kasus Operasi Matriks

  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-11: Studi Kasus Operasi Matriks, soal latihan 10.2 di halaman 83--84.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

10.2 10.2. Latihan

10.2.1 Permasalahan

Buatlah suatu flowchart untuk menyelesaikan operasi penambahan matriks


10.2.2 Cara Penyelesaian Masalah

Operasi penambahan matriks dilakukan dengan cara mengalikan setiap elemen baris
pada Matriks 1 dengan elemen kolom pada Matriks 2 secara berturut-turut, dan kemudian
masing-masing dari hasil perkalian tersebut diakumulasikan.

Flowchart:



[12]: Studi Kasus Shortest Path Problem

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.

Materi video: https://drive.google.com/file/d/1jK5Sv1NcTpzwoYLbw5kxb4MCyLu-NJj2/view?usp=sharing

Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentangStudi Kasus Shortest Path Problem. Selamat belajar!



Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma pemilihan jalur tercepat.


Tugas 12: Studi Kasus Shortest Path Problem

  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-12: Studi KasusShortest Path Problem, soal latihan 11.2 di halaman 92.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!
Flowchart:



[13]: Python Dasar (Bagian 1)

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.


Tugas 13: Python Dasar (Bagian 1)Penugasan

  1. Buatkan kode program Python dari jawaban algoritma yang anda jawab pada tugas:
    1. Tugas 04: Studi Kasus Permasalahan Sederhana (soal latihan 4.4 di nomor halaman 50 dan 51.)
    2. Tugas 05: Studi Kasus Perbandingan (soal latihan 5.3 di halaman 55)
    3. Tugas 06: Studi Kasus Konversi (soal latihan 6.3 di halaman 59.)
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

Jawaban  04: Studi Kasus Permasalahan Sederhana (soal latihan 4.4 di nomor halaman 50 dan 51.)


a = input('Input variable a = ')
b = input('Input variable b = ')
c = input('Input variable c = ')

a = int(a)
b = int(b)
c = int(c)

D = (b*b) - (4*a*c)
print('variable D =',D)
d = D

if(D == 0):
print("Akar-akar X1=X2 real kembar")
X1 = -b / (2*a)
X2 = X1
elif(D > 0):
print("Akar-akar X1=X2 real berlainan")
X1 = (-b + (D)) / (2*a)
X2 = (-b - (D)) / (2*a)
else:
print("Akar-akar X1=X2 imajiner berlainan")
i = (-D) / (2*a)
X1 = ((-b / (2*a)) + (-D)) / (2 * a) * i
X2 = ((-b / (2*a)) + (-D)) / (2 * a) * i
print(X1, X2)

Tugas 05: Studi Kasus Perbandingan (soal latihan 5.3 di halaman 55)


diskon = 10
print("Diskon = 10%")

batas_diskon = 1500000
print("Batas diskon lebih besar dari ", batas_diskon)

uang = input("Input uang ")
uang = int(uang)

if(uang > batas_diskon):
total = uang - ((uang * diskon) / 100)
else:
total = uang

print("Uang yang harus dibayar: ", total)

Tugas 06: Studi Kasus Konversi (soal latihan 6.3 di halaman 59.)


deret = [8,3,5,2,7,9,6,4]
jumlah = len(deret)
bil_max = deret[0]
bil_min = deret[0]
_min = bil_min
_max = bil_max

for i, data in enumerate(deret):
if(data > _max):
_max = data
if(data < _min):
_min = data

print(_max, _min)

[14]: Python Dasar (Bagian 2)

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.


Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Python Dasar (Bagian 2). Selamat belajar!

Materi PDF:
  1. Python Dasar 2: 07. Mengambil Input
  2. Python Dasar 2: 08. Menampilkan Output
  3. Python Dasar 2: 09. Operasi Percabangan
  4. Python Dasar 2: 10. Operasi Perulangan For
  5. Python Dasar 2: 11. Operasi Perulangan While
  6. Python Dasar 2: 12. Operasi Perulangan Bertingkat

Tugas 14: Python Dasar (Bagian 2)

  1. Buatkan kode program Python dari jawaban algoritma yang anda jawab pada tugas:
    1. Tugas 07: Studi Kasus Konversi Percabangan dan Perulangan (latihan 7.3 di halaman 64.)
    2. Tugas 09: Studi Kasus Tumpukan / Stack (soal latihan 8.3 di halaman 70.)
    3. Tugas 10: Studi Kasus Konversi Bilangan (soal latihan 9.3 di halaman 78.)
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

Jawaban: Tugas 07: Studi Kasus Konversi Percabangan dan Perulangan (latihan 7.3 di halaman 64.)

input_bola = input("Input bola = ")
input_bola = int(input_bola)
jumlah_bola = 0


for i in range(0, input_bola):
jumlah_bola += input_bola - i

print("Jumlah bola triangle = ", jumlah_bola)

Tugas 09: Studi Kasus Tumpukan / Stack (soal latihan 8.3 di halaman 70.)

kalimat = input("Input kalimat = ")
_str = []

for i, huruf in enumerate(kalimat):
_str.append(kalimat[len(kalimat)-(i+1)])

if(kalimat == "".join(_str)):
print("Kalimat termasuk palindrom")
else:
print("kalimat tidak termasuk palindrom")

Tugas 10: Studi Kasus Konversi Bilangan (soal latihan 9.3 di halaman 78.)

stack = []
output = [];
bil = input("Input bilangan = ")
bil = int(bil)
if(\
bil > -127 \
and bil < 0 \
):
while (bil * -1) > 0:
bil = int( bil * -1 )
sisa = bil % 2
bil = ( bil - sisa ) / 2
stack.append(sisa)
jumlah_stack = len(stack)
bil = bil * -1
print(stack)
while jumlah_stack <= 8:
stack.append(0)
jumlah_stack += 1
print(stack)
while len(stack) > 0:
sisa = stack.pop()
sisa = ( sisa + 1 ) % 2
output.append(str(sisa));
# print(sisa)
print("".join(output))

[15]: Python Dasar (Bagian 3)

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.


Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Python Dasar (Bagian 3). Selamat belajar!

Materi PDF:
  1. Python Dasar 3: 13. Jenis Data Set
  2. Python Dasar 3: 14. Struktur Dictionary
  3. Python Dasar 3: 15. Fungsi
  4. Python Dasar 3: 16. Fungsi Rekursif
  5. Python Dasar 3: 17. Pass
  6. Python Dasar 3: 18. Perbedaan List Tuple Set

Tugas 15: Python Dasar (Bagian 3)

  1. Buatkan kode program Python dari jawaban algoritma yang anda jawab pada tugas:
    1. Tugas 11: Studi Kasus Operasi Matriks (soal latihan 10.2 di halaman 83--84)
    2. Tugas 12: Studi Kasus Shortest Path Problem (soal latihan 11.2 di halaman 92.)
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

Jawaban: Tugas 11: Studi Kasus Operasi Matriks (soal latihan 10.2 di halaman 83--84)

M1 = [ [5, 2, 3], [1, 7, 1] ]
M2 = [ [1, 0], [1, 1], [2, 4] ]
print("M1 ", M1)
print("M2 ", M2)
M3 = {}
for i, d in enumerate(M1):
M3[i] = {}
for ii, dd in enumerate(M1[i]):
for j, k in enumerate(M2):
for jj, kk in enumerate(M2[j]):
M3[i][jj] = 0
for i, d in enumerate(M1):
for ii, dd in enumerate(M1[i]):
for j, k in enumerate(M2):
for jj, kk in enumerate(M2[j]):
if(ii == j):
M3[i][jj] += M1[i][ii] * M2[j][jj]
print(M3[i][jj], '=', M1[i][ii], '*', M2[j][jj])
print("M3", M3)
M4 = []
for i in range(0, len(M3)):
M4.append([])
for ii in range(0, len(M3[i])):
M4[i].append(M3[i][ii])
print("M4", M4)


Tugas 09: Tugas 12: Studi Kasus Shortest Path Problem (soal latihan 11.2 di halaman 92.)


def dijkstra(graph, start, end):
    distances = {node: float('inf') for node in graph}
    distances[start] = 0
    previous_nodes = {node: None for node in graph}
    unvisited_nodes = graph.copy()

    while unvisited_nodes:
        current_node = min(unvisited_nodes, key=lambda x: distances[x])
        if distances[current_node] == float('inf'):
            break
        for neighbor, weight in graph[current_node].items():
            new_distance = distances[current_node] + weight
            if new_distance < distances[neighbor]:
                distances[neighbor] = new_distance
                previous_nodes[neighbor] = current_node
        unvisited_nodes.pop(current_node)

    path = []
    node = end
    while node != start:
        path.append(node)
        node = previous_nodes[node]
    path.append(start)
    path.reverse()

    return path, distances[end]

graph = {1: {2: 1, 3: 3},
         2: {3: 1, 5: 5},
         3: {1: 3, 4: 2},
         4: {5: 1},
         5: {}}

shortest_path, shortest_distance = dijkstra(graph, 1, 5)

print(shortest_path)
print(shortest_distance)

UAS

Soal 1

Apa ekstensi file yang benar untuk berkas kode program Python?

a. .pt

b. .pyt

c. .pl

d. .pyth

e. .py

Jawab: E

Soal 2

Setiap perintah di dalam Python selalu diakhiri dengan tanda?

a. :

b. Semua salah.

c. ]

d. ;

e. }

Jawab: B

Soal 3

Bentuk umum perulangan (bahasa pemrograman berbasis C):  do while  adalah?

a. do (kondisi) while (pernyataan);

b. do {pernyataan} while (kondisi);

c. while (kondisi) pernyataan;

d. do (pernyataan) while (kondisi)

e. while (do) {pernyataan}

Jawab: B

Soal 4

Di bawah ini merupakan jenis data numerik, kecuali?

a. Float.

b. Semua benar.

c. Integer.

d. Double

e. Char

Jawab: E

Soal 5

Jenis data yang digunakan di pemrograman Python untuk bilangan pecahan adalah?

a. Float

b. Double

c. Char

d. Integer

e. String

Jawab: A

Soal 6

Dibawah ini adalah contoh cara yang tepat untuk deklarasi variabel  bilangan  dengan jenis integer di Python?

a. bilangan int;

b. bilangan = 12

c. int bilangan;

d. bilangan = 12;

e. var bilangan;

Jawab: B

Soal 7

Jenis data yang digunakan di pemrograman Python untuk bilangan bulat adalah ?

a. Double.

b. Char.

c. Float.

d. String.

e. Integer.

Jawab: E

Soal 8

Kode program  continue  berfungsi untuk meloncat ke pernyataan awal yang terdapat dalam blok perulangan tanpa menjalankan sisa perintah di bawah pernyataan  continue  tersebut. Pernyataan ini bernilai?

Pilih salah satu:

a. Benar

b. Salah

Jawab: A

Soal 9

Perulangan while akan mengecek kondisi di bagian akhir setelah melakukan iterasi minimal 1 kali. Pernyataan ini bernilai?

Pilih salah satu:

a. Benar

b.Salah

Jawab: B

Soal 10

Bagaimana cara membuat fungsi di Python?

a. (namaFungsi)

b. namaFungsi()

c. namaFungsi[]

d. function namaFungsi

e. def nama_fungsi():

Jawab: E

Soal 11

Suatu wadah (sebuah lokasi memori komputer) yang berfungsi untuk menampung data atau nilai yang dapat berubah-ubah selama program berjalan disebut?

a. define.

b. Method.

c. function.

d. Konstanta.

e. Variabel.

Jawab: E

Soal 12

Untuk melakukan operasi perkalian maka harus menggunakan operator?

a. Operator percabangan.

b. Operator logika.

c. Operator pembanding.

d. Operator aritmatika

e. Operator relasi.

Jawab: D

Soal 13

Operator pembanding digunakan untuk melakukan?

a. Penjumlahan antara 2 nilai.

b. Hubungan antara 2 nilai.

c. Percabangan antara 2 nilai.

d. Perbandingan antara 2 nilai.

e. Kombinasi antara 2 nilai.

Jawab: D

Soal 14

Berikut adalah contoh cara yang benar untuk mendeklarasikan array (list) di Python, kecuali?

a. warna = []

b. hobi = ("membaca")

c. user01 = ["julia", 13, "indonesia"]

d. buah = ["jeruk", "apel", "mangga", "duren"]

e. hobi = ["membaca"]

Jawab: B

Soal 15

Berikut adalah bentuk umum (bahasa pemrograman berbasis C) perulangan for, yaitu?

a. for (syarat; inisialisasi; modifier) pernyataan;

b. for (modifier; syarat; inisialisasi) pernyataan;

c. for (inisialisasi; syarat; modifier) pernyataan;

d. Semuanya salah.

e. for (inisialisasi; syarat) pernyataan;

Jawab: C

Soal 16

Kode perintah untuk menginput suatu nilai dari keyboard untuk diproses di dalam program Python adalah?

a. output()

b. cout

c. input()

d. getch

e. cin

Jawab: C

Soal 17

Di bawah ini adalah salah satu contoh operator pembanding?

a. **

b. %

c. //

d. ==

e. ||

Jawab: D

Soal 18

Apa sintaks yang benar untuk menampilkan jenis variabel atau objek di kode program Python?

a. print(typeOf(x))

b. Semua salah.

c. print(typeof x)

d. print(type(x))

e. print(typeof(x))

Jawab: D

Soal 19

Array (list) di Python dapat menyimpan banyak data dengan jenis data yang berbeda. Pernyataan ini bernilai?

Pilih salah satu:

a. Benar

b. Salah

Jawab: A

Soal 20

Kata kunci yang digunakan untuk menyatakan nilai balikan di dalam fungsi?

a. return

b. get

c. Semua salah.

d. void

e. break

Jawab: A

Soal 21

Berikut ini contoh operator aritmatika, kecuali?

a. /

b. *
 
c. +

d. Semua benar.

e. <=

Jawab: E

Soal 22

Di bawah ini contoh operator logika, kecuali?

a. ||

b. Semua salah.

c. !

d. &&

e. **

Jawab: E

Soal 23

Berikut ini adalah operator increment dan decrement?

a. || dan &&

b. ++  dan  --

c. -- dan !!

d. ++ dan **

e. // dan ||

Jawab: B

Soal 24

Berikut adalah struktur percabangan atau pemilihan di Python, kecuali?

a. for

b. if

c. if else
 
d. Semua benar.

e. elif

Jawab: A

Soal 25

Indeks array (list) dimulai dari 1. Pernyataan ini bernilai?

Pilih salah satu:

a. Benar

b. Salah

Jawab: B

Soal 26

Perhatikan kode program Python di bawah ini:

umur = 14
if umur <= 18:
    if umur <= 10:
        print("Anak-anak")
    else:
        print("Remaja")
else:
    print("Bukan usia anak maupun remaja")

Program tersebut menghasilkan keluaran?

a. Semua salah.

b. Error

c. Anak-anak

d. Remaja

e. Bukan usia anak maupun remaja

Jawab: D

Soal 27

Berikut adalah pernyataan yang digunakan untuk menghentikan perulangan?

a. break

b. return

c. exit

d. stop

e. continue

Jawab: A

Soal 28

Untuk mendeklarasikan array (list) di Python, ditandai dengan simbol?

a. ||

b. <>

c. []

d ()

e. {}

Jawab: C

Soal 29

Bagaimana cara membuat komentar di Python?

a. // Ini komentar

b. < Ini komentar >

c. /* Ini komentar */

d. /* Ini komentar

e. # Ini komentar

Jawab: E

Soal 30

Berikut bentuk penulisan pernyataan  if  yang benar di bahasa pemrograman Python yaitu?

a. if x > y then:

b. if (x > y)

c. if (x > y) then:

d. if x > y:

e. Semua benar.

Jawab: D

Soal 31

Konstanta akan menampung nilai yang TIDAK dapat diubah-ubah selama program dijalankan. Pernyataan ini bernilai?

Pilih salah satu:

a. Benar

b. Salah

Jawab: A

Soal 32

Jenis data apa yang digunakan untuk menyimpan variabel di pemrograman Python dengan nilai teks?

a. Txt.

b. Float.

c. Double.

d. String.

e. Integer.

Jawab: D

Soal 33

Tipe data yang digunakan untuk menghasilkan nilai TRUE dan FALSE adalah?

a. Boolean.

b. Integer.

c. Double.

d. Semua salah.

e. Float.

Jawab: A

Soal 34

Perhatikan kode program Python berikut ini:

def f(x):
    return str(x * 3) + '!'

print(f('informatika'))

Program tersebut menghasilkan keluaran?

a. informatikainformatikainformatika

b. informatikainformatikainformatika!

c. Semua salah.

d. Error

e. xxx!

Jawab: B

Soal 35

Berikut sintak yang benar untuk menghasilkan keluaran  Hello World  di Python ?

a. print << "Hello World";

b. puts("Hello World")

c. cout << "Hello World";

d. System.out.print("Hello World");

e. print("Hello World")

Jawab: E

Soal 36

Berikut ini tidak berhubungan dengan instruksi perulangan (loops) di Python?

a. continue

b. While

c. Switch

d. break

e. For

Jawab: C

Soal 37

Perhatikan kode program Python berikut ini:

def penjumlahan(a, b):
    return a + b

print("Hasil penjumlahan 20 + 4 = ", penjumlahan(20,4))

Program tersebut menggunakan?

a. Class.

b. Fungsi.

c. Prosedur.

d. Object.

e. Array.

Jawab: B

Soal 38

Perhatikan kode program Python berikut:

for i in range(10):
    if i == 5:
        continue
    else:
print(i)

Program tersebut menghasilkan keluaran?

a. Angka 0 sampai dengan 5.

b. Angka 0 sampai dengan 9.

c. Angka 1 sampai dengan 9.

d. Angka 0 sampai dengan 9, kecuali 5.

e. Angka 1 sampai dengan 10, kecuali 5.

Jawab: D

Soal 39

Berikut adalah contoh cara di pemrograman Python yang berfungsi untuk menambahkan kode atau modul lain, kecuali?

a. from math import pi

b. import mod as my_module

c. from math import *

d. #include <iostream>

e. import math

Jawab: D

Soal 40

Method atau fungsi yang digunakan untuk mendapatkan panjang string ?

a. len()

b. length()

c. Semua salah.

d. getLen()

e. getZise()

Jawab: A

Komentar

Postingan populer dari blog ini

Pertanyaan Calon Programmer di YABB

Belajar Plugin Wordpress Gwolle Guestbook untuk Aplikasi Buku Tamu