Anda di halaman 1dari 8

ALGORITMA DAN STRUKTUR DATA

INF1073

LAPORAN PRAKTIKUM 6 : Struktur Data Dasar(1)

Oleh :

Nama Al Munawaroh
Nim 2111102441181

Teknik Informatika
Fakultas Sains & Teknologi
Universitas Muhammadiyah Kalimantan Timur
Samarinda, 2022
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

Laporan Praktikum 6:
Struktur Data Dasar(1)
Pokok Bahasan:
 Stack
 Infix, Prefix, dan Postfix.
Tujuan Pembelajaran:
 Memahami bimplementasi SAtack pada struktur data Python
 Memahami penulisaan ekspresaai aritmatika di python

Stack :
Percobaan & Latihan 6.1
a.

b. Modul dapat diunduh dari GitHub atau diinstal dari baris perintah menggunakan pip
install pythonds. Dalam pemrograman tersebut, kita dapat memilih untuk
mengimplementasikan stack menggunakan List, di mana bagian atas berada di awal,
bukan di akhir. Dalam hal ini, metode pop dan append sebelumnya tidak akan
berfungsi lagi dan kita harus mengindeks posisi 0 (item pertama dalam list) secara
eksplisit menggunakan pop dan insert.

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |1
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

Percobaan & Latihan 6.2

a.

Fungsi ini, parChecker, mengasumsikan bahwa kelas Stack tersedia dan


mengembalikan hasil boolean apakah string tanda kurung seimbang. Selama ekspresi
seimbang dan tumpukan telah dibersihkan sepenuhnya, string mewakili urutan tanda
kurung yang seimbang dengan benar. Perintah print pertama mengeluarkan output
True karena string tanda kurung seimbang, sedang perintah print ke 2 mengeluarkan
output False karena string tanda kurung tidak seimbang.

b.

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |2
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

Sama halnya dengan penjelasan sebelumnya bahwa Fungsi parChecker,


mengasumsikan bahwa kelas Stack tersedia dan mengembalikan hasil boolean apakah
string tanda kurung seimbang. Selama ekspresi seimbang dan tumpukan telah
dibersihkan sepenuhnya, string mewakili urutan tanda kurung yang seimbang dengan
benar. Tetapi, mengapa Hasilnya False? Karena pemrograman dibuat untuk meminta
bahwa ketika dilakukan pemanggilan menggunakan parChecker, haruslah
menggunakan symbol “(“ seperti pada perintah di bagian a. Sedangkan dalam perintah
b, symbol yang digunakan adalah kurung kurawal ( { ). Maka dari itu meskipun
ekspresi yang diberikan seimbang (seperti (‘{{}}’) ) tetapi tidak menggunakan
symbol yang diminta didalam pemrograman, maka hasilnya tetap False.

Percobaan & Latihan 6.3

a.

b. Perbedaan fungsi diatas dengan fungsi pada Percobaan & Latihan 6.2 adalah
perubahan muncul di baris 16 di mana kita memanggil fungsi pembantu, matches,
untuk membantu pencocokan simbol. Setiap simbol yang dikeluarkan dari tumpukan
harus diperiksa untuk melihat apakah simbol tersebut cocok dengan simbol penutup
saat ini. Jika terjadi ketidakcocokan, variabel boolean balanced diatur ke False.

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |3
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

Percobaan & Latihan 6.4

a.

b. Program diatas dibuat untuk merubah bilangan integer menjadi bilangan biner. Nilai
integer dapat dengan mudah diubah menjadi biner menggunakan algoritma yang
disebut ‘bagi dengann2’ yang dimana penggunaannya menggunakan stack untuk
melacak angka, untuk hasil biner. Fungsi divideBy2 mengambil argumen berupa
angka desimal dan berulang kali membaginya dengan 2. Baris 7 menggunakan
operator modulo bawaan, %, untuk mengekstrak sisa dan baris 8 lalu mendorongnya
ke Stack. Setelah proses pembagian mencapai 0, string biner dibangun pada baris
11-13. Baris 11 membuat string kosong. Digit biner dikeluarkan dari Stack satu per
satu dan ditambahkan ke ujung kanan string. String biner kemudian dikembalikan.

Percobaan & Latihan 6.5

a.

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |4
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

 Pada output baris 19 basis yang dimasukkan adalah angka 2, dimana angka 2
termasuk ke dalam string digit yaitu pada baris ke 4. Maka pemrograman akan
berfungsi dengan baik.
 Sedangkan pada hasil output baris ke 20, basis yang dituliskan melampaui string
digit yang dituliskan pada baris ke-4. Dimana basis yang dituliskan hanya sampai
pada huruf F di posisi 15. Maka dari itu output yang dihasilkan tidak dapat
dikonversi kedalam biner.

Infix, Prefix, dan Postfix :

Percobaan & Latihan 6.6

a. Berikut Tampilan Outputnya

b. Berikut penjelasan perbaris

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |5
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

Percobaan & Latihan 6.7

a.

b.

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |6
Algoritma & Struktur Data (INF1073) : Laporan Praktikum 6 – Struktur Data Dasar 1

Kesimpulan :

Alhamdulillah praktikum ke 6 tentang struktur data dasar 1 telah diselesaikan. Modul ini
membahas mengenai struktur data linear, stack, kemdian implementasi stack, dan infix prefix
and postfix. Dalam Praktikum ini tidak semua yang berada di modul materi mempunyai
pemrograman/ codingan. Pemrograman pada percobaan & latihan diatas hanya mengenai
stuck dan infix prefix and postfix saja. Dalam pemrograman diatas kita banyak belajar dan
mengetahui bahwasannya terdapat banyak sekali fungsi untuk membuat sebuah pemrograman
yang menghasilkan output tertentu seperti hanya menhasilkan output berupa Boolean ataupun
pemrograman yang merubah tipe data integer kedalam tipe data lain. Semoga dengan
selesainya laporan ini dapat menambah pemahaman dan wawasan saya mengenai materi yang
bersangkutan, dan dapat memudahkan untuk mengerjakan laporan-laporan pemrograman
selanjutnya. Terimakasih.

Al Munawaroh/2111102441181
Teknik Informatika - UMKT |7

Anda mungkin juga menyukai