Sunday, September 22, 2013

Antrian FIFO

FIFO adalah kependekan dari First In First Out, artinya yang pertama kali masuk yang pertama kali dikeluarkan.
Sebetulnya prinsip FIFO sama seperti antrian. Nah, dalam mengantri tentu yang mengantri pertamakali lah yang akan dilayani bukan? Dan orang pertama ini tentu yang akan selesai / keluar dari antrian tersebut.
Lalu apa beda FIFO dengan Queue? Jika FIFO merupakan stack, atau tumpukan, artinya bila ada barang yang ditumpuk tidak harus ada barang yang keluar.
Tapi dalam antrian, jika ada yang masuk maka harus ada yang keluar.
Namun dalam prakteknya, sering kali orang menggunakan teknik dan metode queue dalam pemrograman,
Sebab metode stack, dikhususkan hanya bagi Last in First Out, dimana metode Pop() otomatis mendelete data yang terakhir. (khususnya di .NET)
Prinsip Queue
Stack FIFO vs Stack LIFO, push artinya masuk, pop artinya keluar
Lalu apa saja operasi -operasi yang ada dalam proses FIFO ini?
Berikut algoritma sederhana dari FIFO.
a. Insert : menambahkan data ke dalam stack  Prosedurnya :
- Periksa apakah stack penuh atau tidak
- Jika stack belum penuh : tambahkan nilai last ( nilai banyak array).
Masukkan data pada posisi last ( array [last] )
b. Delete : menghapus data dari stack. Prosedurnya :
- Periksa apakah stack kosong atau tidak
- Jika belum kosong, maka ambil data pada posisi 1, Kemudian turunkan nilai last
Pindahkan data dari posisi 2 ke 1, 3 ke 2, dst hingga posisi last +1 ke last.
Untuk Implementasinya, penulis mengambil contoh dari Java dan dari VB.NET
Contoh FIFO dalam JAVA. Dalam java, algoritma ini dimudahkan dengan adanya package dari java yaitu java.util.LinkedList
import java.util.LinkedList;
public class NewMain {

       public static void main(String[] args) {

        LinkedList <Integer> myQ=new LinkedList<Integer>();
        myQ.add(1);
        myQ.add(6);
        myQ.add(3);
        System.out.println(myQ); //1 6 3
        int first=myQ.poll();// retrieve and remove the first element
        System.out.println(first);//1
        System.out.println(myQ);//6 3
        myQ.add(2);
        System.out.println(myQ);//6 3 2
        myQ.poll();
        System.out.println(myQ); // 3 2

               }
    }
Output :
1
6 3
6 3 2
3 2


Dalam VB.NET, dari berbagai sumber yang penulis cari, semua menganjurkan penggunaan metode queue untuk menerapkan algoritma FIFO.
Berikut contoh queue dalam console VB.NET yang kami sesuaikan sesuai dengan algoritma FIFO yang kami jelaskan sebelumnya.
Metode yang digunakan mudah,yaitu :
  • Enqueue() untuk menambah data
  • Dequeue() untuk menghapus data
  • arr = winQueue.ToArray mengubah list antrian ke dalam array sehingga bisa di show ( ditampilkan)
  •  Peek() melihat data yang ada diurutan/ antrian pertama.
  •  count() menhitung jumlah antrian
Public Class Form1

    Dim winQueue As New Queue

    Private Sub btn_enque_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_enque.Click
        txt_enque.Text = txt_enque.Text.Trim
        If txt_enque.Text = "" Then
            MessageBox.Show("Please enter Element")
            txt_enque.Focus()
        Else
            MessageBox.Show(txt_enque.Text & " Element entered into Queue")

            winQueue.Enqueue(txt_enque.Text)
            txt_enque.Text = ""
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim arr() As Object, i As Integer
        arr = winQueue.ToArray

        If arr.Length = 0 Then
            MessageBox.Show("No Element in the Queue")
            Exit Sub
        End If

        For i = 0 To arr.Length - 1
            MessageBox.Show(arr(i))
        Next
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If winQueue.Count > 0 Then
            MessageBox.Show(winQueue.Dequeue() & " Element is delete from Queue")
            If winQueue.Count > 0 Then
                MessageBox.Show(winQueue.Peek() & " is the Top 1 Element")
            Else
                MessageBox.Show("No Element in Queue to Delete")
            End If
        Else
            MessageBox.Show("No Element in Queue to Delete")
        End If
    End Sub
End Class
Capture2
Capture3Capture4Capture5
Sumber :
http://www.mycstutorials.com/articles/data_structures/stacks
http://www.java2s.com/Code/Java/Collections-Data-Structure
/SimpleQueueFIFObasedonLinkedList.htm

http://stackoverflow.com/questions/10213707/fifo-based-queue-implementations
Materi Kelas XI IPA. LPK Kosayu
http://en.wikipedia.org/wiki/FIFO
http://www.4microsoftsolutions.com/post/Queues-in-VbNet.aspx
http://vb.net-informations.com/collections/vb.net_Queue.htm
http://msdn.microsoft.com/en-us/library/system.collections.queue.enqueue%28v=vs.71%29.aspx
http://www.codeguru.com/columns/vb/working-with-queues-and-stacks.htm

Sunday, September 15, 2013

instal windows 7


Bagi yang belum pernah menginstall windows 7 ke komputer atau laptop. berikut cara menginstall windows 7 lengkap dengan gambar gambarnya. Langkah2 ini baik dengan menggunakan media DVD ataupun media lain seperti memakai flashdisk adalah sama, baik itu untuk versi 32bit maupun versi 64bit,
Yuk kita mulai!.
Masukkan DVD windows 7 atau colokkan flashdisk windows 7 kita, dan kemudian booting lah memakai media yang telah kita pilih, lalu proses loading file akan dimulai.




Pilih bahasa Anda, waktu & format mata uang, keyboard atau metode input dan klik Next.


Klik Install now


Conteng I accept the license terms dan klik Next.


Klik Upgrade jika Anda sudah mempunyai versi Windows sebelumnya atau Custom (advanced) jika anda tidak memiliki versi Windows sebelumnya atau ingin menginstal salinan baru Windows 7.


(Lewati langkah ini jika Anda memilih Upgrade dan hanya memiliki satu partisi) Pilih drive mana Anda ingin menginstal Windows 7 dan klik Next. Jika Anda ingin membuat partisi, klik opsi Drive options (advanced), buatlah partisi dan kemudian klik Next.


Sekarang akan dimulai menginstal Windows 7. Langkah pertama, (yaitu Windows mulai menyalin file) sudah dilakukan ketika anda booting DVD/fd Windows 7 sehingga akan selesai seketika.


Setelah menyelesaikan langkah pertama, ia akan memperluas (decompress) file yang telah disalin.




Langkah ketiga dan keempat juga akan diselesaikan langsung seperti langkah pertama.




Setelah itu secara otomatis akan restart setelah 15 detik dan melanjutkan setup. Anda juga dapat klik Restart now untuk restart tanpa perlu menunggu.






Setelah restart untuk pertama kalinya, proses setup akan dilanjutkan. Ini adalah langkah terakhir sehingga akan mengambil waktu yang agak lamadaripada langkah sebelumnya.


Sekarang akan otomatis restart lagi dan melanjutkan setup. Anda dapat klik Restart now untuk restart tanpa perlu menunggu.








Ketik nama pengguna yang Anda inginkan dalam kotak-teks dan klik Next. Nama komputer akan otomatis terisi.


Jika Anda ingin mengatur sandi, ketik di kotak teks dan klik Next.


Ketik kunci produk Anda dalam kotak-teks dan klik Next. Anda juga dapat melewatkan langkah ini dan cukup klik Next jika Anda ingin mengetik kunci produk nanti. Windows akan berjalan hanya selama 30 hari jika Anda melakukan ini.


Pilih opsi yang Anda inginkan untuk Windows Update.


Pilih zona waktu dan klik Next.


Jika anda terhubung ke jaringan apapun, ia akan meminta Anda untuk menetapkan lokasi jaringan.












Nah selesai sudah proses penginstallan windows7 baik dengan menggunakan flashdisk maupun DVD.
Jika ada pertanyaan, silahkan tinggalkan komentarnya.