STRUKTUR DATA
TUGAS BESAR Nama : A. ASFAR ASFAR Kelas : Stam Stambuk buk : 1521 152128 28 Sekolah Tinggi Manajemen Ino!matik In o!matika a "an " an Kom#ute! STMIK $I%AN&'ARA Makassa! 2(1)
1. Tulis Sebuah ant!ian %*thon *ang memba+a sebuah sta+k,tum#ukan"an men*im#an hasil ba+aan te!sebut ke"alam sebuah ueue,ant!ian- / 2. Tulis Sebuah ungsi 0metho" untuk untaian *ang menghitung jumlah elemen *ang a"a "alam untaian te!sebut. . Tulis Sebuah #!og!am #*thon *ang melakukan #e!kalian "ua mat!ik "an menam#ilkan hasil #e!kaliann*a %!og!am ini memiliki bebe!a#a ungsise#e!ti memba+a mat!ikmeme!iksa "imensi mat!ik aga! bisa "i#e!kalikanmelakukan #e!kalian "an menam#ilkan hasil #e!kalian 3. A#abila soal be!ikut ini memakai st!uktu! ant!ian ,ueuee- bagaimana isi "a!i ant!ian setelah #!og!am "ijalankan ,jelaskan manual untuk mengetahui bagaimana ant!ian beke!ja-. 4alue 6ueue,Fo! i in !ange,17-: i,i - (: 9alue.enueue, i eli,i 3 - (: 9alue."eueue,5. Tulis ungsi untuk menambahkan "ata A$T "a!i suatu #ohon bine!*aitu: a. %!eo!"e!ne;t,#- : membe!ikan isi no"e setelah no"e be!nilai # "alam u!utan #enelu!usan #!e
JAWABAN 1. Sebuah ant!ian %*thon *ang memba+a sebuah sta+k,tum#ukan- "an
men*im#an hasil ba+aan te!sebut ke"alam sebuah ueue,ant!ianclass Stack: def __init__(self): self.data = [None] * 10 self.max_length = 10 self.top = 1 def p!sh(self" o#$): if self.top % 1 == self.max_length: self.data %= [None] * self.max_length self.max_length *= & self.data[self.top % 1] = o#$ self.top %= 1 def pop(self): if self.top == 1: 'aise xception(Stack is empt) data = self.data.pop(self.top) self.top = 1 'et!'n data
2. Fungsi 0metho" untuk untaian *ang menghitung jumlah elemen
*ang a"a "alam untaian list kosong : L=[] list dengan dua elemen dengan tipe bilangan : L = [1,2] list dengan dua elemen dengan tipe berbeda beda : L = [1,'2+4j] list di dalam list : L = [1,2,[1,2]]
nama = ['asrul','herdi','regina'] print nama[0] print nama[1]
outputnya : asrul outputnya : hherdi
print nama[2]
outputnya : regina
nama[2] = 'hengki kurniawan' print nama[2]
outputnya : hengki kurniawan
print len(nama) outputnya : 2
. Sebuah #!og!am #*thon *ang melakukan #e!kalian "ua mat!ik "an menam#ilkan hasil #e!kaliann*a %!og!am ini memiliki bebe!a#a ungsise#e!ti memba+a mat!ikmeme!iksa "imensi mat!ik aga! bisa "i#e!kalikanmelakukan #e!kalian "an menam#ilkan hasil #e!kalian defcetak_matriks(matriks): forrow inmatriks: printrow defpjg_matriks(matriks): returnlen(matriks[0])
deflbr_matriks(matriks): returnlen(matriks) defkalikan_matriks(mat_a, mat_b): temp_row =[] temp_mat =[] temp_sum =0
fori inrange(0, lbr_matriks(mat_a)): forj inrange(0, pjg_matriks(mat_a)): fork inrange(0, lbr_matriks(mat_a)): temp_sum +=mat_a[i][k] mat_b[j][k] temp_row!append(temp_sum) temp_sum =0 temp_mat!append(temp_row) temp_row =[] returntemp_mat
matriks_a =[[", ", "], [", ", "], [", ", "]] matriks_b =[[#, #, #], [#, #, #], [#, #, #]] print$matriks_a : $ cetak_matriks(matriks_a) print$%nmatriks_b : $ cetak_matriks(matriks_b) print$%n&asil perkalian :$ &asil =kalikan_matriks(matriks_a, matriks_b) cetak_matriks(&asil)
3. jelaskan manual untuk mengetahui bagaimana ant!ian beke!ja. 4alue 6ueue,- : menam#ilkan semua nilai ueue,ant!ianFo! i in !ange,17-: inst!uksi #e!ulangan seban*ak 17 kali i,i - (: bila i habis "ibagi oleh 9alue.enueue, i - : maka akan menam#ilkan enueue,ant!ian- "a!i i eli,i 3 - (: selain itu jika i habis "ibagi 3 9alue.enueue,- maka akan menam#ilkan hasil enueue. 5. Tulis ungsi untuk menambahkan "ata A$T "a!i suatu #ohon bine!*aitu: a. %!eo!"e!ne;t,#- : membe!ikan isi no"e setelah no"e be!nilai # "alam u!utan #enelu!usan #!e!"e!ne;t,#-: i sel.!oot /None: i sel.!oot."ata /?@?: #!int sel.!oot."ata sel .!oot.let.%!e>!"e!,- sel .!oot.!ight.%!e>!"e!,-
b. u!usan in
#!int sel.!oot."ata sel .!oot. !ight.In>!"e!,- sel .!oot.let.In>!"e!,-
+. %osto!"e!ne;t,#-:Membe!ikan isi no"e setelah no"e be!isi # "alam u!utan #enulusu!an #ost