Posts

Showing posts from April, 2012

Tree Traversal with C/C++

Image
Seperti yang sudah kita ketahui, bahwa struktur pohon dipakai untuk menempatkan data guna memudahkan pencariaan (search) data. Struktur pohon juga berguna untuk menyajikan koleksi data yang mempunyai struktur logik bercabang. Proses kunjungan dalam pohon, dengan setiap simpul hanya dikunjungi tepat satu kali disebut traversal. Ketika dilakukan traversal pohon, koleksi simpul dari pohon terlihat satu persatu. Hasil dari traversal pohon adalah suatu untai simpul pohon yang urut secara linier. Suatu simpul dikatakan dikunjungi, bila simpul tersebut kita masukkan ke dalam urutan linier tersebut. Terdapat 3 macam traversal pohon, yaitu traversal pre-order, in-order, dan post-order. Oke langsung saja. Untuk algoritma pemrograman dan source code (dengan menggunakan bahasa C/C++) bisa di download disini .

Penjadwalan Proses - Metode Future Knowledge

Image
Oke guys, kali ini saya mau membahas mengenai penjadwalan proses yang saya pelajari dalam mata kuliah Sistem Operasi. Lebih fokusnya sih kepada metode future knowledge. Sebelum membahas secara lebih lanjut, kita cari tahu dulu pengertian penjadwalan proses. Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Adapun penjadwalan ini bertugas untuk memutuskan : a. Proses yang harus berjalan b. Kapan dan selama berapa lama proses itu berjalan Lalu apa itu metode future knowledge yang Anda sebut tadi? Jadi gini, di dalam penjadwalan proses ini terdapat beberapa algoritma. Diantaranya ada FCFS(First Come First Serve), SJF(Shortest Job First) yang terdiri dari SJF preempsi dan non preempsi, kemudian Future Knowlege, dan Round Robin. Dimana dari algoritma algoritma diatas mempunyai kelebihan dan kekurangannya masing masing.   Di dalam metode Future Knowlege ini pertama tama dib

Bubble Sort Method (Metode Gelembung)

Image
Oke, pada kesempatan kali ini saya mau membahas tentang sorting pada array yaitu Bubble Sort atau bisa juga disebut metode gelembung. Agak terdengar aneh ya? saya rasa juga begitu :p Sebelumnya pernah membuat program pencarian data dari elemen elemen array?  Jika pernah, terasa lambatkah proses pencariannya? Salah satu faktor yang menyebabkan lambatnya proses mungkin disebabkan gara gara program tersebut tidak dalam keadaan terurut. Berarti yang harus kita lakukan selanjutnya yaitu mengurutkan array tersebut. Banyak sekali metode yang bisa digunakan, salah satunya yaitu Bubble Sort. Selain Bubble Sort ada banyak lagi metode, yaitu metode sisipan (insertion sort), maksimum-minimum (maximum-minimum sort), quick sort. Sebenarnya masih ada lagi, namun yang saya tahu hanya itu saja :p Sekarang kita fokus ke algoritma Bubble Sort ya. Step-by-step example. Let us take the array of numbers "5 1 4 2 8", and sort the array from lowest number to greatest number usi

Program Fungsi Terbilang

Image
Algoritma program untuk fungsi terbilang : a). Tentukan input bilangan yang akan dicari fungsi terbilangnya b). deklarasikan array yang berisi 11, lalu isi dengan ["","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan","Sepuluh","Sebelas"]     , kemudian deklarasikan hasil = " " c). sekarang kita fokus pada bilangan yang kita input tadi jika n < 12 maka hasil = hasil + angka[n] jika n < 20 maka hasil = terbilang(n%10) + " belas" jika n < 100 maka hasil = terbilang(n/10) + " puluh" + terbilang(n%10) jika n < 200 maka hasil = " seratus" + terbilang(n%10) jika n < 1000 maka hasil = terbilang(n/100) + " ratus" + terbilang(n%100) jika n < 2000 maka hasil = " seribu" + terbilang(n-1000) jika n < 1000000 maka hasil = terbilang(n/1000) + " ribu" +

Convert Infix Notation to Postfix Notation

Image
Algoritma : 1. program membaca input yang kita masukkan. jika inputan pertama berupa simbol "(" maka simbol tersebut akan di PUSH ke dalam stack 2. jika bertemu dengan simbol ")" maka program akan mem-POP seluruh elemen yang berada dalam stack menjadi output sampai bertemu dengan simbol "(" yang kita input pertama tadi. dengan catatan simbol "(" dan ")" tidak akan menjadi output. 3. jika inputan yang terbaca berupa simbol OPERAND, maka OPERAND tersebut langsung di POP menjadi output. 4. jika inputan merupakan simbol OPERATOR maka :  - kita perhatikan dahulu level dari OPERATOR yang diinputkan, jika TOP stack berisi OPERATOR dengan level lebih tinggi atau sama dengan OPERATOR  yang diinputkan, maka TOP stack tersebut akan di POP menjadi output. Proses seperti ini akan terus berlanjut dan akan berakhir jika bertemu dengan OPERATOR dengan level lebih rendah atau jika bertemu dengan simbol “(“.  - jika OPERATOR yang diinputkan memi