Difference between revisions of "Oimolala Putrawan"

From ccitonlinewiki
Jump to: navigation, search
Line 81: Line 81:
  
 
UTS  
 
UTS  
 
+
#cara 1
3A
+
  3A
  
 
   mass1 = eval(input("Massa Benda 1 ? ")) #menginput m1
 
   mass1 = eval(input("Massa Benda 1 ? ")) #menginput m1
Line 97: Line 97:
 
   print("T3", T3)
 
   print("T3", T3)
 
   print("Sin theta = ", sinus@,"")
 
   print("Sin theta = ", sinus@,"")
 +
 +
#cara 2
 +
 +
  #Cara 2
 +
m1 = eval(input("Massa Benda 1 ? "))
 +
m2 = eval(input("Massa Benda 2 ? "))
 +
m3 = eval(input("Massa Benda 3 ? "))
 +
m4 = eval(input("Massa Benda 4 ? "))
 +
g = eval(input("Gravitasi ? "))       
 +
sinusa = ((m1+m2+m3)/m4)
 +
Matrx=[[1,0,0,m1*sinusa*g],[1,1,0,(2*m1+m2)*sinusa*g],[2,1,1,((2*(2*m1+m2))+m3)*sinusa*g]]      #Matrix yg mau di gauss
 +
def PrintMatrix(Matrix): #untuk print
 +
    for i in range(len(Matrix)):
 +
        for j in range(len(Matrix[i])):
 +
            print(Matrix[i][j],end="\t")
 +
        print()
 +
def MultiplyRow(Row,Scalar): #untuk kali
 +
    for i in range(len(Row)):
 +
        Row[i]=Row[i]*Scalar
 +
def AddRow(Matrix,RowNR1,RowNR2,multi=1): #untuk tambah
 +
    for i in range(len(Matrix[RowNR2])):
 +
        Matrix[RowNR2][i]+=Matrix[RowNR1][i]*multi
 +
def SwitchRow(Matrix,RowNR1,RowNR2): #untuk tukar
 +
    bufrow=Matrix[RowNR1]
 +
    Matrix[RowNR1]=Matrix[RowNR2]
 +
    Matrix[RowNR2]=bufrow
 +
    return 0
 +
def ZeroRowsBelow(Matrix,RowNR,CollumnNR): #untuk menghindari eror 0
 +
    for i in range(len(Matrix)-RowNR-1):
 +
        if not(Matrix[RowNR][CollumnNR]==0):
 +
            AddRow(Matrix,RowNR,i+1+RowNR,-float(Matrix[i+1+RowNR][CollumnNR])/Matrix[RowNR][CollumnNR])
 +
            #print(i)
 +
def SolveMatrix(Matrix):    #untuk mensolve
 +
    #Bring To Row-Echelon Form
 +
    for i in range(len(Matrex)):
 +
        ZeroRowsBelow(Matrex,i,i)
 +
  #Make Row-Echelon 1
 +
    for i in range(len(Matrex)):
 +
      if not(Matrex[i][i]==0):
 +
            MultiplyRow(Matrex[i],1./Matrex[i][i])
 +
    #diulang lagi
 +
    for i in range(len(Matrex)):
 +
        for j in range(i):
 +
            if not(Matrex[i][i]==0):
 +
                AddRow(Matrex,i,j,-float(Matrex[j][i])/Matrex[i][i])
 +
def IsRRowEchelon(Matrix): #cek selsai
 +
    for i in range(len(Matrix)):
 +
        pos=[1,0]
 +
        if not(Matrix[i][i] in pos):
 +
            return 0
 +
    return 1
 +
def CheckForEqualRows(Matrix):#cek nilai
 +
    newlist=[]
 +
    for i in Matrix:
 +
        if i not in newlist:
 +
            newlist.append(i)
 +
    return newlist 
 +
MatrixNew=[]
 +
for j in range(len(Matrex)):
 +
    RowNew=[]
 +
    for i in range(len(Matrex[j])):
 +
        RowNew.append(Matrex[j][i])
 +
    MatrixNew.append(RowNew)
 +
Matrex=MatrixNew
 +
PrintMatrix(Matrex)
 +
print()
 +
while True:
 +
    SolveMatrix(Matrex)
 +
    Matrex=CheckForEqualRows(Matrex)
 +
    if IsRRowEchelon(Matrex):
 +
        break
 +
PrintMatrix(Matrex)#print matrix
 +
print("")
 +
print("Solusinya")
 +
print("T1 = ",Matrex[0][3])
 +
print("T2 = ",Matrex[1][3])
 +
print("T3 = ",Matrex[2][3])
 +
print("Sin Theta = ",Matrex[0][3]/(m1*g))

Revision as of 01:03, 30 October 2019

Assalamualaikum


Oimolala Putrawan

Nama : Oimolala Putrawan (Oi)

NPM : 1706036412


== Pertemuan Pertama ==

Hari/Tanggal : Rabu, 4 September 2019


Kenapa saya harus belajar kalkulus?

Saya belajar kalkulus untuk meningkatkan kemampuan bermatematika saya yang kelak berguna untuk memahami fenomena fisik yang terjadi. selain itu belajar kalkulus meningkatkan kemampuan berpikir dan pola pikir saya.

emas.ui.ac.id


Apa itu Python?

Python merupakan salah satu general purpose high-programing language, yang berarti memiliki sintaks yang mudah dimengerti oleh manusia. Diciptakan pertama kali oleh Guido von Rossum pada 1991. Python dengan bantuan beberapa libraries memiliki banyak kegunaan seperti web developing, scientific computing, sebagai scripting language pada software finite element method, dan yang paling menarik penggunaan python sebagai bahasa yang paling digunakan untuk artificial intelligence terutama pada machine learning.

Minggu 3

While Loop Fibonacci

a, b = 0, 1
while a< 100:
   print (a)
   a, b = b, a+b

For Loop Fibonacci

a, b = 0, 1
for i in range(0,100):
   print(a)
   a, b= b, a+b
   

Function Fibonacci

def fib(n): 
   a = 0
   b = 1
   if n < 0: 
       print("Incorrect input") 
   elif n == 0: 
       return a 
   elif n == 1: 
       return b 
   else: 
       for i in range(2,n): 
           c = a + b 
           a = b 
           b = c 
       return b 

Submission Tugas

TUGAS 1

File:Tugas 1

TUGAS 2

Fibonacci with Python

File:Tugas 2 Function Approach
File:Tugas 2 Loop (while) Approach
File:Tugas 2 Loop (for) Approach

UTS [23 Oktober]

UTS

#cara 1
  3A
  mass1 = eval(input("Massa Benda 1 ? ")) #menginput m1
  mass2 = eval(input("Massa Benda 2 ? "))#menginput m2
  mass3 = eval(input("Massa Benda 3 ? ")) #meninput m3
  mass4 = eval(input("Massa Benda 4 ? "))
  g = eval(input("Gravitasi ? "))         #input g
  sinus@ = ((mass1+mass2+mass3)/mass4)#hitung sin theta
  T1 = mass1*sinus@*g #hitung T1
  T2 = mass2*sinus@*g + T1 #hitung T2
  T3 = mass3*sinus@*g + T2 #hitung T3
  print("T1", T1)
  print("T2",T2)
  print("T3", T3)
  print("Sin theta = ", sinus@,"")
#cara 2
  #Cara 2
m1 = eval(input("Massa Benda 1 ? "))
m2 = eval(input("Massa Benda 2 ? "))
m3 = eval(input("Massa Benda 3 ? "))
m4 = eval(input("Massa Benda 4 ? "))
g = eval(input("Gravitasi ? "))         
sinusa = ((m1+m2+m3)/m4)
Matrx=[[1,0,0,m1*sinusa*g],[1,1,0,(2*m1+m2)*sinusa*g],[2,1,1,((2*(2*m1+m2))+m3)*sinusa*g]]      #Matrix yg mau di gauss
def PrintMatrix(Matrix): #untuk print
   for i in range(len(Matrix)):
       for j in range(len(Matrix[i])):
           print(Matrix[i][j],end="\t")
       print()
def MultiplyRow(Row,Scalar): #untuk kali
   for i in range(len(Row)):
       Row[i]=Row[i]*Scalar
def AddRow(Matrix,RowNR1,RowNR2,multi=1): #untuk tambah
   for i in range(len(Matrix[RowNR2])):
       Matrix[RowNR2][i]+=Matrix[RowNR1][i]*multi
def SwitchRow(Matrix,RowNR1,RowNR2): #untuk tukar
   bufrow=Matrix[RowNR1]
   Matrix[RowNR1]=Matrix[RowNR2]
   Matrix[RowNR2]=bufrow
   return 0
def ZeroRowsBelow(Matrix,RowNR,CollumnNR): #untuk menghindari eror 0
   for i in range(len(Matrix)-RowNR-1):
       if not(Matrix[RowNR][CollumnNR]==0):
           AddRow(Matrix,RowNR,i+1+RowNR,-float(Matrix[i+1+RowNR][CollumnNR])/Matrix[RowNR][CollumnNR])
           #print(i)
def SolveMatrix(Matrix):     #untuk mensolve
   #Bring To Row-Echelon Form
   for i in range(len(Matrex)):
       ZeroRowsBelow(Matrex,i,i)
  #Make Row-Echelon 1
   for i in range(len(Matrex)):
      if not(Matrex[i][i]==0):
           MultiplyRow(Matrex[i],1./Matrex[i][i])
   #diulang lagi
   for i in range(len(Matrex)):
       for j in range(i):
           if not(Matrex[i][i]==0):
               AddRow(Matrex,i,j,-float(Matrex[j][i])/Matrex[i][i])
def IsRRowEchelon(Matrix): #cek selsai
   for i in range(len(Matrix)):
       pos=[1,0]
       if not(Matrix[i][i] in pos):
           return 0
   return 1
def CheckForEqualRows(Matrix):#cek nilai
   newlist=[]
   for i in Matrix:
       if i not in newlist:
           newlist.append(i)
   return newlist   
MatrixNew=[]
for j in range(len(Matrex)):
   RowNew=[]
   for i in range(len(Matrex[j])):
       RowNew.append(Matrex[j][i])
   MatrixNew.append(RowNew)
Matrex=MatrixNew
PrintMatrix(Matrex)
print()
while True:
   SolveMatrix(Matrex)
   Matrex=CheckForEqualRows(Matrex)
   if IsRRowEchelon(Matrex):
       break
PrintMatrix(Matrex)#print matrix
print("")
print("Solusinya")
print("T1 = ",Matrex[0][3])
print("T2 = ",Matrex[1][3])
print("T3 = ",Matrex[2][3])
print("Sin Theta = ",Matrex[0][3]/(m1*g))