Postingan

Graph - Python

Gambar
Graph adalah himpunan sisi atau edge, yang menghubungkan antar node atau verteks dalam suatu kumpulan data menjadi suatu simpul. graph dapat berfunsi sebagai database. Graph menggunakan type dictionary dinama ada kata kunci dan ada value. 1.        Fungsi  all_path Fungsi ini digunakan untuk menemukan semua path atau semua jalur dari titik A ke titik E.  Pada fungsi ini menggunakan 4 buah parameter  yaitu  Graph  sebagai data graph,  start  yang merupakan titik mulai dari urutan graph,  end  yang merupakan titik berakhir, dan  Path=[]  yang digunakan untuk menginisialisasi path berupa list kosong. Berikut penjelasan mengenai algoritma yang telah saya buat: a.         Menginisialisasi path dengan isian path di gabung dengan start b.        Jika start sama dengan akhir maka mengembalikan nilai path dalam lis t. c.         Jika start tidak ada dalam graph maka dikembalikan nilai list kosong    [] d.        Inisialisasi list baru bernama    Paths  dengan [] e.      

Tree - Python

Gambar
Kumpulan Node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layaknya struktursebuah pohon. Struktur pohon adalah suatu cara mempresentasikan suatu struktur hirarki secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak kumpulan node-node dari atas ke bawah. Suatu strukturyang tidak linier yang menggambarkan hubungan yang hirarkis dan tidak linier antara elemen-elemennya. Dalam Tree terdapat istilah Binary Tree dimana merupakan jenis tree yang maksimal memiliki dua cabang, yaitu cabang kanan dan kiri. binary tree ini memiliki banyak keuntungan antara lain Mudah dalamPenyusunan algoritma, pencarian yang relatif lebih cepat, dan juga fleksibel dalam penambahan dan penghapusan data. Berikut contoh Program Binary Tree: Dalam Tree terdapat istilah lain yaitu Transversal Tree yang merupakan kunjungan pada setiap node pada tree. Transversal Tree dibagi menjadi 3 yaitu: 1. Kunjungan secara preorder (Depth First Order), mempunyai uru

Infix, Prefix, dan Postfix - Python

Gambar
Dalam struktur data yang kita pelajari secara umum ada 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika, yaitu Prefix, Infix dan Postfix. Namun, sebelumnya kita harus mengetahui indicator yang ada dalam notasi tersebut, notasi ini terbentuk dari Operand dan Operator. Operand adalah data atau nilai yang membantu dalam proses, sedangkan Operasi adalah fungsi yang digunakan dalam proses. Istilah yang sering dipakai : Operand : Variable berupa huruf atau angka seperti A,B,C atau 1,2,3. Operator : Operasi matematika seperti +, -, *,  /. Prioritas pengerjaan berdasarkan operator : Kurung : () Pangkat : ^ Perkalian dan pembagian : * dan / Penjumlahan dan Pembagian : + dan - Prefix Prefix adalah notasi yang terbentuk atas operator dan operand, dimana operator berada di depan operand. Contoh: Infix : A + B * C Prefix : +A *BC. Penjelasan: Dari contoh diatas ada 3 operand yaitu, A,B dan C serta ada 2 operand yaitu, + dan *. Operator tertinggi adalah *

Hashing - Python

Gambar
Hashing adalah teknik atau metode memetakan data ke sebuah tempat dimana data sebenarnya dirubah dalam bentuk lain. semisal huruf a menjadi huruf e. Teknik ini biasanya digunakan untuk mengenkrispsi sebuah password didalam database seperti MySQL.  Pada python, cara metode Hashing dengan membuat sebuah List yang akan diisi oleh data masukan. Data masukan diberi 2 buah nilai yaitu value sebagai data tersebut dan juga key sebagai alat untuk memasukan value ke List. Algoritma Hashing sebagai berikut : 1. Membuat tabel hash yang berisikan None 2. Memasukan data yang ingin dimasukan  3. Data masukan terdiri dari value dan keynya 4. Lakukan pencarian modulus dari key yang dibagi panjang tabel hash 5. Masukan value dari data tersebut ke dalam tabel hash sesuai indexnya Macam - macam hashing yang telah diperlajari : 1. Linear Hashing Penyelesaian dengan linear yaitu melakukan penambahan 1 tiap index yang terjadi collision, misalnya, collison terjadi pada index 3, maka data selanj

Macam - Macam Sorting pada Python

Gambar
Dalam dunia pemrograman, sorting adalah bagian yang tidak bisa dihilangkan. Tujuan utama dari proses sorting adalah untuk mengurutkan data baik dari yang nilai terendah maupun yang tertinggi. Yang secara tidak langsung akan menjadikan data lebih terstruktur . Ada banyak algoritma populer untuk mengurutkan data, seperti : Insertion Sort, Selection Sort, Merge Sort, Quick Sort, Buble Sort, Shell Sort. Diantaranya sebagai berikut : 1. Bubble Sort 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. Algoritma  ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya. Berikut ini

Link List - Python

Gambar
Link List adalah struktur data yang terdiri dari urutan record data dimana setiapbrecord memilikifield yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan).Elemen data yang dihubungkan dengan link pada linked list disebut Node. Istilah yang biasa disebut di dalam Link List : Head : E lemen yang berada pada posisi pertama dalam suatu linked list Tail : Elemen yang berada pada posisi terakhir dalam suatu linked list Operasi yang digunakan dalam Link List : Add : Untuk menambah data baru Show : Untuk menampilkan data IsEmpty : Untuk mengecek apakah data kosong atau tidak Remove : Untuk menghapus data Search : Untuk mencari data Size :  Untuk menghitung panjang / banyak data Macam - macam Link List : 1. Single Link List Setiap node memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian, dengan demikian hanya diperlukan sebuah variabel pointer. Contoh code single link list : 2. Double Link List Setiap node

Linier dan Binary Search - Python

Gambar
1. Linier Search         Linier Search merupakan program search yang mudah dipahami, linear search memiliki kelebihan apabila data yang dicari letaknya pada data – data awal sehingga prosesnya berjalan cepat, namun apabila data yang dicari letaknya pada data terakhir maka pencarian lebih memakan waktu yang cukup lama pula. kekurangan Linier Search adalah dalam proses pencariannnya diurutkan satau-satu baik dimulai dari depan maupun dari belakang, sehingga membuat proses pencarian berlangsung lama. Contoh program linier search pada Python: Di dalam list terdapat angka (1,9,5,3,7,13,11). Jika kita mencari angka 3 maka jumlah iterasi yang akan terjadi yaitu sebanyak 4 kali. 2. Binary Search             Binary search sebenarnya hampir mirip dengan linier search namun linier seach memiliki kelebihan dalam proses pencarian karena memiliki efisisensi yang sangat cepat. hal ini karena Binary Search tidak mencari data satu persatu dari awal namun di cari dari depan belakang dan tengan