Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions DataLatihan/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@ Diberikan data teks ('Data1.txt'), sensor beberapa kata yang ada pada teks terse
Setelah kata-kata disensor, gabungkan lagi menjadi paragraf yang utuh.

Soal 2 :
<<<<<<< HEAD
Diberikan dua data teks ('Data1.txt' dan 'Data2.txt'), cari kata-kata yang ada pada dua teks tersebut dan ouputkan
=======
Diberikan dua data teks ('Data1.txt' dan 'Data2.txt'), cari kata-kata yang ada pada dua teks tersebut dan ouputkan berapa kali kesamaan itu muncul.
>>>>>>> 36f2e66bd148e4ec90a99c08a79bb93e2a12a99a
20 changes: 17 additions & 3 deletions DataLatihan/answer1.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
data1 = "Data_1.txt"
data2 = "Data_2.txt"
data1 = "Data1.txt"

def readData(data1):
x = []
with open(data1) as data :
for line in data :
x = line.split()
x = line.split()
return x


teks1 = readData(data1)

isi = []
for i in teks1 :
if i == 'I' :
isi.append('*')
elif i == 'and' or i == 'The' or i=='you':
isi.append('*'*3)
else :
isi.append(i)

asd = ' '.join(isi)
print (asd)
23 changes: 20 additions & 3 deletions DataLatihan/answer2.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
data1 = "Data_1.txt"
data2 = "Data_2.txt"
data1 = "Data1.txt"
data2 = "Data2.txt"

def readData(data1):
x = []
with open(data1) as data :
for line in data :
x = line.split()
return x
return x

dataa1 = readData(data1)
dataa2 = readData(data2)

same = []

for x in dataa1 :
for y in dataa2:
if x==y :
counter = 0
for z in same :
if z == y :
counter += 1
if counter == 0 :
same.append(y)

print (same)
6 changes: 6 additions & 0 deletions DataTugas/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Tugas :
- cari string atau karakter angka yang ada pada teks
- reverse posisi penempatan angka yang ada pada teks
- perhatikan huruf kapital yang ada pada teks dan ubah jika belum sesuai (penggunaan huruf kapital pada awal kalimat)

Outputkan teks yang ada dengan perubahan string angka yang telah dilakukan dan perubahan pada penggunaan huruf kapital.
7 changes: 7 additions & 0 deletions Pertemuan 2/Latihan.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SOAL

Buatlah tranpose matriks tanpa menggunakan library.

[[12,7],
[4 ,5],
[3 ,8]]
2 changes: 2 additions & 0 deletions Pertemuan 2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

# Pertemuan ke-2 SG-Basic-computing
34 changes: 34 additions & 0 deletions Pertemuan 2/Tugas.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
matriks1 = [[1,2,3],[4,5,6],[7,8,9]]
matriks2 = [[1],[2],[3]]

test = []
test1 = []
test2 = []
test3 = []
temp = 0

y=0
for a in matriks1:
counter1 =0
y += 1
x =0
for b in a:
counter1+=1
counter2 = 0
for c in matriks2 :
for d in c:
counter2 += 1
if counter1==counter2 :
x += (b*d)
if (y==1):
test1.append(x)
elif (y==2):
test2.append(x)
elif (y==3):
test3.append(x)

test.append(test1)
test.append(test2)
test.append(test3)

print (test)
12 changes: 12 additions & 0 deletions Pertemuan 2/Tugas.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@


SOAL

1. buatlah perkalian matriks dibawah tanpa menggunakan library!
[1] [1,2,3]
[2] x [4,5,6]
[3] [7,8,9]
2. cari nilai dan vektor eigen dari matriks dibawah ini!
[0,0,-2]
[1,2,1]
[1,0,3]
6 changes: 6 additions & 0 deletions Pertemuan 2/Tugas2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import numpy as novel

M = novel.mat("0,0,-2;1,2,1;1,0,3")
eigenvalue,eigenvector = novel.linalg.eig(M)
print(eigenvalue)
print(eigenvector)
13 changes: 13 additions & 0 deletions Pertemuan 2/jawaban.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
X = [[12,7],
[4 ,5],
[3 ,8]]

result = [[0,0,0],
[0,0,0]]

for i in range(len(X)):
for j in range(len(X[0])):
result[j][i] = X[i][j]

for r in result:
print(r)
15 changes: 15 additions & 0 deletions Pertemuan 2/latihanTranspose.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import numpy as novel
matriks = [[12,7],[4,5],[3,8]]
#transpose = [list(x) for x in zip(*matriks)]

#for x in transpose:
# print(x)

# print(novel.transpose(matriks))


M = novel.mat("1 -2;1 4")
M = novel.mat("1 -2;1 4")

eigenvalue,eigenvector = novel.linalg.eig(M)
print(eigenvalue)
20 changes: 20 additions & 0 deletions Pertemuan 2/matriks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import numpy as np

a = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
b = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
c = np.array([[1],
[4],
[7]])

d = np.array([[1,4,7]])

print(a+b,'\n')
print(np.dot(a,b),'\n')
print(np.transpose(c),'\n')
print(np.transpose(d),'\n')


85 changes: 85 additions & 0 deletions pertemuan 4/tree.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
class Node:
def __init__(self,val):
self.info = val
self.left = None
self.right = None

def insert(self,val):
if (val<self.info):
if self.left is None:
self.left = Node(val)
else:
self.left.insert(val)
elif (val>self.info):
if self.right is None:
self.right = Node(val)
else:
self.right.insert(val)

def printinorder(self):
if self.left :
self.left.printinorder()
print(self.info, end= " ")
if self.right :
self.right.printinorder()

def printpreorder(self):
print(self.info, end=" ")
if self.left :
self.left.printpreorder()
if self.right :
self.right.printpreorder()

def printpostorder(self):
if self.left :
self.left.printpostorder()
if self.right :
self.right.printpostorder()
print(self.info, end=" ")

def search(self, val):
if self.info < val:
if self.right is None:
return None
else:
self.right.search(val)
elif self.info > val:
if self.left is None:
return None
else:
self.left.search(val)
else:
return True

def countheigh (self):
if self.left:
a = self.left.countheigh() + 1
elif self.right:
b = self.right.countheigh() + 1
if a>b:
return a
elif b>a:
return b

BT = Node(23)
BT.insert(10)
BT.insert(16)
BT.insert(19)
BT.insert(65)
BT.insert(45)
BT.insert(24)
BT.insert(50)
BT.insert(47)
BT.insert(30)
print("Inorder :")
BT.printinorder()
print()
print("Postorder : ")
BT.printpostorder()
print()
print("Preorder :")
BT.printpreorder()
print()
print(BT.search(23))
print("Heigh :", end= " ")
print(BT.countheigh())
96 changes: 96 additions & 0 deletions pertemuan 5/latihan.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
class Graph(object):

def __init__(self, graph_dict=None):
if graph_dict == None:
graph_dict = {}
self.__graph_dict = graph_dict

def getVertices(self):
#mengembalikan semua vertex pada graf
return list(self.__graph_dict.keys())

def getEdges(self):
#mengembalikan semua sisi pada graf
return self.__generate_edges()

def add_vertex(self, vertex):
if vertex not in self.__graph_dict:
self.__graph_dict[vertex] = []

def add_edge(self, edge):
edge = set(edge)
(vertex1, vertex2) = tuple(edge)
if vertex1 in self.__graph_dict:
self.__graph_dict[vertex1].append(vertex2)
else:
self.__graph_dict[vertex1] = [vertex2]

def __generate_edges(self):
#menghasilkan semua sisi pada graf
edges = []
for vertex in self.__graph_dict:
for neighbour in self.__graph_dict[vertex]:
if {neighbour, vertex} not in edges:
edges.append({vertex, neighbour})
return edges

def __str__(self):
res = "vertices: "
for k in self.__graph_dict:
res += str(k) + " "
res += "\nedges: "
for edge in self.__generate_edges():
res += str(edge) + " "
return res

def __getitem__(self,vertex):
return self.__graph_dict[vertex]

def dfs(graph,start):
stack = [start]
visited = []
while stack:
vertex = stack.pop()
if vertex not in visited :
visited.append(vertex)
for neighbour in graph[vertex]:
stack.append(neighbour)
return visited

def bfs(graph,start):
queue = [start]
visited = []
while queue:
vertex = queue.pop(0)
if vertex not in visited :
visited.append(vertex)
for neighbour in graph[vertex]:
queue.append(neighbour)
return visited

g = {1: set([2,3]),
2: set([1,4,5]),
3: set([1,6,7]),
4: set([2,8]),
5: set([2,8]),
6: set([3,8]),
7: set([3,8]),
8: set([4,5,6,7])}

graph = Graph(g)

# for i in range(6):
# graph.add_vertex(i)

# print(graph.getVertices())

# graph.add_edge({1,2})
# graph.add_edge({2,3})
# graph.add_edge({3,4})


# print(graph.getEdges())

print(graph)
print (dfs(graph,1))
print (bfs(graph,1))
Loading