.

Latest Post
Tampilkan postingan dengan label Bahasa Python. Tampilkan semua postingan
Tampilkan postingan dengan label Bahasa Python. Tampilkan semua postingan

Class Bahasa Pemrograman Python

CLASS

Definisi

          Class merupakan sebuah objek yang di dalamnya biasanya terdapat beberapa metode yang memang merupakan isi dari sebuah class ini. Class dan Metode ini biasanya di sebut sebagai OOP atau object oriented programing

Algoritma

Class namaClass():
                def __init__():
                   Isi yang ingin kalian masukkan
                def metode 1 (self):
                   Isi metode
                def metode 2 (self):
                   Isi meode

Kode Program
class Balok:
    def __init__(self,panjang,lebar,tinggi):
        self.p = panjang
        self.l = lebar
        self.t = tinggi
    def __luas__(self):
        return 2*(self.p*self.l) + 2 *(self.p*self.t)+ 2*(self.l*self.t)
    def __volume__(self):
        return (self.p*self.l*self.t)
    def __keliling__ (self):

        return 4*(self.p + self.l + self.t)
 

Infix To Prefix Bahasa Pemrograman Python

INFIX TO PREFIX

Definisi

          Awalan atau prefix adalah kelompok huruf yang ditempatkan pada bagian awal kata atau root (bentuk paling sederhana) dari suatu kata, sehingga tidak dapat diuraikan lagi. Prefix adalah notasi yang terbentuk atas operator dan operand, dimana operator berada di depan operand.
Operator adalah fungsi yang digunakan dalam proses
Operand adalah data atau nilai yang dibantu dalam proses
Contoh :
A + B * C
Notasi dari prefixnya adalah +A*BC.

Pemecahnya A+B*C

Ilustrasi


  
Kode Program

def Stack():
    opStack=[]
    return opStack
   
def push(opStack,data):
    opStack.append(data)
   
def pop(opStack):
    data = opStack.pop()
    return data
  
def peek(opStack):
    return opStack[len(opStack)-1]
       
def isEmpty(opStack):
    return opStack == []
   
def size(opStack):
    return len(opStack)

   
def infixToPrefix(infixexpr):
    prec = {}
    prec["*"] = 3
    prec["/"] = 3
    prec["+"] = 2
    prec["-"] = 2
    prec["("] = 1
    prec[")"] = 1
    opStack = Stack()
    prefixList = []
    tokenList = infixexpr.split()
    hasil=' '
    for token in tokenList:
        if token in"0123456789" or token in"ABCDEFGHIJKLMNOPQRSTUVWXYZ":
            prefixList.append(token)
        elif token == ')':
            push(opStack,token)
        elif token == '(':
            topToken = pop(opStack)
            while topToken != ')':
                prefixList.append(topToken)
                topToken = opStack.pop()
           
       
        else:
            while (not isEmpty(opStack)) and (prec[peek(opStack)]>= prec[token]):
                  prefixList.append(opStack.pop())
            push(opStack,token)
    while not isEmpty(opStack):
        prefixList.append(opStack.pop())
    return hasil.join(prefixList[::-1])
   

infix = " A +  B * C "
infix_balik = infix[::-1]

print(infixToPrefix(infix_balik))
 

Infix To Postfix Python


Definisi

Postfix, adalah notasi yang membentuk atas operator dengan operand, dimana operator berada dibelakang operand.
Operator adalah fungsi yang digunakan dalam proses
Operand adalah data atau nilai yang dibantu dalam proses

Contoh : 
A + B * C

Jadi penyelesaiannya,

                 Postfix
A               A
+       +      A
B       +      AB
*        +*   AB
C       +*    ABC

maka notasi postfix adalah ABC*+.

Ilustrasi



Kode Program

def Stack():
    opStack=[]
    return opStack
   
def push(opStack,data):
    opStack.append(data)
   
def pop(opStack):
    data = opStack.pop()
    return data
  
def peek(opStack):
    return opStack[len(opStack)-1]
       
def isEmpty(opStack):
    return opStack == []
   
def size(opStack):
    return len(opStack)

   
def infixToPostfix(infixexpr):
    prec = {}
    prec["*"] = 3
    prec["/"] = 3
    prec["+"] = 2
    prec["-"] = 2
    prec["("] = 1
    opStack = Stack()
    postfixList = []
    tokenList = infixexpr.split()
    hasil=' '
   
    for token in tokenList:
        if token in "ABCDEFGHIJKLMNOPQRSTUVWXYZ" or token in "0123456789":
            postfixList.append(token)
        elif token == '(':
            push(opStack,token)
        elif token == ')':
            topToken = pop(opStack)
            while topToken != '(':
                postfixList.append(topToken)
                topToken = opStack.pop()
           
       
        else:
            while (not isEmpty(opStack)) and \
               (prec[peek(opStack)] >= prec[token]):
                  postfixList.append(opStack.pop())
            push(opStack,token)
      
       

    while not isEmpty(opStack):
        postfixList.append(opStack.pop())
   
    return hasil.join(postfixList)
   
   

print(infixToPostfix("A + B * C - D"))
 

Queue Bahasa Pemrograman Python

QUEUE

Definisi
                               
          Queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehiduypan sehari-hari,misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakaiseseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang datang terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dariantrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harusmemiliki operasi-operasi sebagai berikut :
EnQueue Memasukkan data ke dalam antrian
DeQueue Mengeluarkan data terdepan dari antrian
Clear Menghapus seluruh antrian
IsEmpty Memeriksa apakah antrian kosong
Size Memeriksa berapa banyak antrian
Peek Memeriksa Antrian Terdepan

Ilustrasi



Algoritma


Kode Program

def Queue():
    q = []
    return (q)
def enqueue(q,data):
    q.append(data)
    return (q)

def dequeue(q):
    data = q.pop(0)
    return(data)  
def isEmpty(q):
    return (q == [])   
def size(q):
    return(len(q))
def peek(q):
    return q[0]


q=Queue()
enqueue(q,'R')
enqueue(q,'A')
enqueue(q,'Y')


while not isEmpty(q):

    print(dequeue(q))
 

Stack Bahasa Pemrograman Python

STACK

Definisi

          Pengertian Stack pada Struktur Data adalah sebagai tumpukan dari benda, sekumpulan data yang seolah-olah diletakkan di atas data yang lain. Pada stack, elemen terakhir yang disimpan (push) akan menjadi elemen pertama yang diambil (pop).
Fungsi dari while not pada codingan yaitu mengambil isi stack saat tidak kosong,jika kosong keluar dari while not dan program terhenti

Ilustrasi




Kode Program

def Stack():
    s=[]
    return s   
def push(s,data):
    s.append(data) 
def pop(s):
    data = s.pop()
    return data 
def peek(s):
    return s[len(s)-1]      
def isEmpty(s):
    return s == []   
def size(s):
    return len(s)
s = Stack()
push(s,'R')
push(s,'A')
push(s,'Y')
print(s.pop())
print(s.pop())

print(s.pop())
 

Quick Sort Bahasa Pemrograman Python (pivot tengah)

QUICKSORT

Definisi
          Quick sort adalah algoritma sorting yang berdasarkan pembandingan dengan metoda divide-and-conqueror. Disebut Quick Sort, karena Algoritma quick sort mengurutkan dengan sangat cepat. Algoritma quick sort mengurutkan dengan sangat cepat,Pengurutan Quick sort di tentukan oleh pivot dan pivot tersebut bisa di depan , belakang dan tengah. namun algoritma ini sangat komplex dan diproses secara rekursif. Tetapi langkah pengerjaanya rumit.

Ilustrasi



Algoritma

   done = False
   while not done:

       while z <= n and listangka[z] <= posisi:
           z = z + 1

       while listangka[n] >= posisi and n >= z:
           n = n -1
       if n < z:
           done = True
      
       else:
           temp = listangka[z]
           listangka[z] = listangka[n]
           listangka[n] = temp

Kode Program

def quickSorttengah(alist):
    quickSortHelper(alist,0,len(alist)-1)

def quickSortHelper(alist,first,last):

    if first<last:
        splitpoint = partition(alist,first,last)
        quickSortHelper(alist,first,splitpoint-1)
        quickSortHelper(alist,splitpoint+1,last)

def partition(alist,first,last):

    tengah = (first+last)//2
    pivotvalue = alist.pop(tengah)
    leftmark = first
    rightmark = last-1
    done = False
    while not done:
        while leftmark <= rightmark and alist[leftmark] <= pivotvalue:
            leftmark = leftmark + 1
        while alist[rightmark] >= pivotvalue and rightmark >= leftmark:
            rightmark = rightmark -1
        if rightmark < leftmark:
            done = True
        else:
            temp = alist[leftmark]
            alist[leftmark] = alist[rightmark]
            alist[rightmark] = temp
    alist.insert(leftmark,pivotvalue)
    print(alist,pivotvalue)
    return leftmark

alist = [5,1,4,2,8,10,3]
quickSorttengah(alist)
print(alist)  

 

Insertion Sort Bahasa Pemrograman Python

INSERTION SORT

Definisi 

          Insertion Sort merupakan algoritma yang efisien untuk mengurutkan angka yang mempunyai jumlah elemen sedikit. Dimana:- Input : deretan angka sejumlah n buah
 Output : permutasi (pengurutan) sejumlah n angka dari input yang sudah terurut secara ascending maupun descending 


Ilustrasi



Algoritma

while posisi>0 and alist[posisi-1]>nilai:
         alist[posisi]=alist[posisi-1]
         posisi = posisi-1
     alist[posisi]=nilai
     print(data)

Kode Program

def insertion(alist):
   for i in range(1,len(alist)):
     nilai = alist[i]
     posisi = i
     while posisi>0 and alist[posisi-1]>nilai:
         alist[posisi]=alist[posisi-1]
         posisi = posisi-1
     alist[posisi]=nilai
     print (data)
data=[5,1,4,2,8,10,3]
insertion(data)


 

Selection Sort Bahasa Pemrograman Python

SELECTION SORT

Definisi  
         
          Selection Sort merupakan salah satu algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.

Selection Sort diakui karena kesederhanaan algoritmanya dan performanya lebih bagus daripada algoritma lain yang lebih rumit dalam situasi tertentu.

Ilustrasi 




Algoritma

for slot in range(0,len(alist)-1):
       position=slot
       for location in range(slot+1,len(alist)):
           if alist[location]<alist[position]:
               position = location
Kode Program

def selectionSort(alist):
     for slot in range(0,len(alist)-1):
       position=slot
       for location in range(slot+1,len(alist)):
           if alist[location]<alist[position]:
               position = location

       temp = alist[slot]
       alist[slot] = alist[position]
       alist[position] = temp
       print(alist)
angka = [5,1,4,2,8,10,3]

selectionSort(angka)
 

Bubble Sort Bahasa Pemrograman Python

BUBBLE SORT

Definisi

     Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.
                
 Ilustrasi



Algoritma

alurangka = len(angka)-1
    while alurangka > 0 and pertukaran:
        pertukaran = False
        for i in range(alurangka):
            if angka[i]>angka[i+1]:
                pertukaran = True
                temp = angka[i]
                angka[i] = angka[i+1]
                angka[i+1] = temp
        print(angka)
        alurangka = alurangka – 1

Kode Program

def shortBubbleSort(alist):
    exchanges = True
    passnum = len(alist) - 1
    while passnum > 0 and exchanges:
        exchanges = False
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                exchanges = True
                temp = alist[i]
                alist[i] =alist[i+1]
                alist[i+1] = temp
        print(alist)
        passnum = passnum - 1
alist =[5,1,4,2]

shortBubbleSort(alist)
 

Binary Search Bahasa Pemrograman Python

BINARY SEARCH

Definisi

          Binary Search, atau metode pencarian secara biner hanya bisa dilakukan jika data sudah terurut. Keunggulan dari proses binary search ini adalah sistem pencariannya yang relatif cepat dan efisien walaupun ada banyak data sekalipun. karena data dicari dari depan, tengah dan belakang. Tetapi sintaks dan algoritmanya sedikit lebih rumit, karena kita harus mengurutkan data terlebih dahulu. Pengurutan data disini bisa kalian lakukan dengan metode ascending ataupun descending

Ilustrasi

Algoritma

def binarysearch(a,x):
  j = 0
  i = len(a)-1
  k = False
  counter = 0
  global middle
  while j <= i and not k:
    middle = (j + i) // 2
    if a[middle] == x:
      k = True
    else :
      if x < a[middle]:
        i=middle -1
      else :
        j = middle + 1
      counter = counter + 1­­­


Kode Program

def binarysearch(alist,value):
  first = 0
  last = len(alist)-1
  found = False
  counter = 0
  global middle
  while first <= last and not found:
    middle = (first + last) // 2
    if alist[middle] == value:
      found = True
    else :
      if value < alist[middle]:
        last = middle -1
      else :
        first = middle + 1
    counter = counter + 1
  if found == True:
    print("Angka ditemukan dalam list")
    print("Listnya",alist)
    print("ada di index ke",middle)
    print("Angka ditemukan di dalam pencarian ke", counter)
  else :
    print("Angka tidak ada dalam list")
  return
m=[2,6,4,12,10,13]
list.sort(m)

binarysearch(m,10)
 
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Master Of Everything - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger