Newest Post

Struktur Data dan Algoritma Queue (Antrian)

| Kamis, 16 April 2015
Baca selengkapnya »
            Queue (Antrian)

            Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran elemen dilakukan pada sisi depan. Jenis struktur data antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Antrian banyak dijumpai dalam kehidupan sehari-hari. Misal : antrian registrasi mahasiswa, tiket kereta api dan lain-lain.
            Berbeda dengan stack, prinsip yg digunakan dalam antrian adalah FIFO ( First In First Out ). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya. Dalam antrian tidak semuanya dilakukan secara FIFO murni, contoh yg relevan dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah penakai (user) yg menggunakan sistem tersebut secara serempak. Karena sistem ini biasanya menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang user, maka user yang lain harus antri sampai gilirannya.
            Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas tertentu. Antrian yang memasukkan unsur prioritas dinamakan dengan Antrian Prioritas (Priority Queue).
            Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya. Dequeue adalah mengeluarkan satu elemen dari suatu antrian. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya sehingga membutuhkan variabel Head dan Tail.
Deklarasi Queue :


            Operasi dalam Queue
  •             Create ( )

  1.       Untuk menciptakan dan menginisialisasi Queue
  2.       Dengan cara membuat Head dan Tail = -1

 
  •             IsEmpty ( )

  1.  Untuk memeriksa apakah Antrian sudah penuh atau belum
  2.  Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
  3.  Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
  4.  Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail. 
  •             IsFull
  1.                     Untuk mengecek apakah Antrian sudah penuh atau belum
  2.        Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh


  •            Enqueue (data)

  1.  Untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu ditambahkan di elemen paling belakang.
  2.    Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail


  •             Dequeue()

  1.    Digunakan untuk menghapus elemen terdepan/pertama dari antrian
  2.    Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan.
  3.    Penggeseran dilakukan dengan menggunakan looping


  •             Clear()

  1.   Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
  2. Penghapusan elemen-elemen antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesannya


  •             Tampil

  1.       Untuk menampilkan nilai-nilai elemen antrian
  2.       Menggunakan looping dari head sampai dengan tail



Struktur Data dan Algoritma Queue (Antrian)

Posted by : Unknown
Date :Kamis, 16 April 2015
With 0komentar

Struktur Data dan Algoritma Stack(Tumpukan)

|
Baca selengkapnya »
A.    Stack (tumpukan)
Stack adalah suatu urutan yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top).contoh dalam kebidupan sehari-hari adalah tumpukan piring disebuah restoran yang tumpukanya ditambah pada bagian paling atas dan jika mengambilnya pun dari bagian paling atas pula.

1.      Macam-Macam Stack
Stack ada 2 operasi paling besar yang dapat dilakukan yaitu:
1.  Operasi push yaitu operasi menambahkan elemen pada urutan terakhir (paling atas).
2.  Operasi pop yaitu mengambil sebuah elemen data pada urutan terakhir dan menghapus elemen tersebut dari stack.

2.      Proses Operasi Stack
    Selain operasi dasar stack ada lagi operasi lain dapat terjadi dalam stack yaitu:
1.      Proses Deklarasi yaitu proses pendeklarasian stack.
2.   Proses IsEmpty yaitu proses pemeriksaan apakah stack dalam keadaan kosong.
3.      Proses IsFull yaitu proses pemeriksaan apakah stack telah penuh.
4.      Proses Inisialisasi yaitu proses pembuangan stack kosong, biasanya dengan pemberian nial untuk top.

3.      Operasi-Operasi Stack
a.      Pendeklarasian Stack
Suatu stack memiliki beberapa bagian yaitu:
1.      Top : yang berisi posisi data terakhir.
2.    Elemen : yang berisi data yang ada dalam stack bagian inilah yang berbentuk array.

3.    Maks_elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.

b.      Inisialisasi
Inisialisasi Stack adalah proses pembuatan suatu stack kosong. Adapun langkah-langkah proses inisialisasi stack yang menggunakan array. Dengan mengisi nilai field top dengan 0. Jika elemen pertama diawali dengan nomor 1, kalau elemen pertamanya array dimulai dengan 0, maka top diisi dengan -1.

c.      Operasi IsEmpty
            Operasi yang digunakan untuk memeriksa apakah stack dalam keadaan kosong. Operasi ini dilakukan dengan memeriksa field top, jika top bernilai 0 atau top bernilai -1, maka berarti dalam keadaan empty.



d.      Operasi IsFull
     Operasi ini untuk memeriksa keadaan stack apakah sudah penuh/belum. Operasi ini memberikan nilai true(1) jika field top sama dengan field maks_elemen.



e.      Operasi Push
       Operasi push adalah operasi dasar dari stack yang berguna untuk menambahkan suatu elemen data baru pada stack dan di simpan pada posisi top yang akan mengakibatkan posisi top akan berubah.
 Langkah-langkah operasi ini:
1.  Periksa apakah stack penuh(IsFull). Jika berniali false/0(tidak penuh) maka proses push dilakukan dan jika pemeriksaan ini bernilai true/1, maka proses push digagalkan.
2.  Proses Push-nya sendiri adalah dengan menambahkan field top dengan 1, kemudian elemen pada posisi top di isi dengan elemen data baru.



f.       Operasi Pop
      Operasi Pop adalah salah satu operasi paling besar dari stack yang brguna untuk mengambil elemen terakhir(top) dan kemudian menghapus elemen tersebut sehingga posisi top akan berpindah.
Operasi ini biasanya dibuat dalam bentuk function yang me-return-kan nilai sesuai data yang ada di top.
Operasi Pop pada Stack yang menggunakan array adalah terlebih dahulu memeriksa apakah stack sedang keadaan kosong, jika tidak kosong maka data diambil pada posisi yang ditunjuk oleh posisi top. Kemudian disimpan dalam variabel baru dengan nama "data".



Struktur Data dan Algoritma Stack(Tumpukan)

Posted by : Unknown
Date :
With 2komentar

Struktur Data dan Algoritma Linked list

|
Baca selengkapnya »
A.    Linked list

Linked List adalah suatu struktur data linier. Berbeda dengan array yang juga merupakan struktur data linier dan tipe data komposit, linked list dibentuk secara dinamik. Pada saat awal program dijalankan elemen linked list belum data. Elemen linked list (disebut node) dibentuk sambil jalan sesuai instruksi. Apabila setiap elemen array dapat diakses secara langsung dengan menggunakan indeks, sebuah node linked list diakses dengan menggunakan pointer yang mengacu (menunjuk) ke node tersebut. Dalam struktur data algortima linked list mempunyai beberapa jenis yaitu:

1.      Single Linked List
Tempat yang disediakan pada satu area memori tertentu untuk menyimpan data dikenal dengan sebutan node atau simpul. Setiap node memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian, dengan demikian hanya diperlukan sebuah variabel pointer. Susunan berupa untaian semacam ini disebut Single Linked List (NULL memilik nilai khusus yang artinya tidak menunjuk ke mana-mana. Biasanya Linked List pada titik akhirnya akan menunjuk ke NULL). Pembuatan Single Linked List dapat menggunakan 2 metode:
1.      LIFO (Last In First Out), aplikasinya : Stack (Tumpukan)
2.      FIFO (First In First Out), aplikasinya : Queue (Antrian)


Gambar 1.1 Single Linked List

2.      Double Linked List
Salah satu kelemahan single linked list adalah pointer (penunjuk) hanya dapat bergerak satu arah saja, maju/mundur, atau kanan/kiri sehingga pencarian data pada single linked list hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan tersebut, dapat menggunakan metode double linked list. Linked list ini dikenal dengan nama Linked list berpointer Ganda atau Double Linked List.


Gambar 1.2 Double Linked List

3.      Circular Double Linked List
Merupakan double linked list yang simpul terakhirnya menunjuk ke simpul terakhirnya menunjuk ke simpul awalnya menunjuk ke simpul akhir sehingga membentuk suatu lingkaran. Operasi-Operasi yang ada pada Linked List :
a.       Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.
b.      IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.
c.       Find First
Fungsi ini mencari elemen pertama dari linked list
d.      Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now
e.       Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.
f.       Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu. 
g.      Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus adalah elemen pertama dari linked list (head), head akan berpindah ke elemen berikut.
h.      Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen sesudahnya.
i.        Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda melakukannya, data-data yang dialokasikan ke memori pada program sebelumnya akan tetap tertinggal di dalam memori.


Gambar 1.3 Circular Double Linked List

4.      Pointer
Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori atau null jika tidak berisi data. Pointer yang tidak diinisialisasi disebut dangling   pointer. Lokasi memori tersebut bisa diwakili sebuah variabel atau dapat juga berupa nilai alamat memori secara langsung.
Operasi pada pointer :
1.      Operasi assignment
Antar variabel pointer dapat dilakukan operasi assignment.
- Contoh 1: Assignment dan sebuah alamat dapat ditunjuk oleh lebih dari satu pointer
- Contoh 2: Mengisi variable dengan nilai yang ditunjuk oleh sebuah variabel pointer
- Contoh 3: Mengoperasikan isi variable dengan menyebut alamatnya dengan pointer
 -  Contoh 4: Mengisi dan mengganti variabel yang ditunjuk oleh pointer
2.      Operasi aritmatika
    Pada pointer dapat dilakukan operasi aritmatika yang akan menunjuk suatu alamat memori baru.
       Hanya nilai integer saja yang bias dioperasikan pada variabel pointer.
–    Biasanya hanya operasi penambahan/pengurangan saja.
    Misal pointer X bertipe int  (2 bytes), maka X+1 akan menunjuk pada alamat memori sekarang (mis. 1000) ditambah sizeof(X), yaitu 2, jadi 1002.
        Pada array, pointer hanya perlu menunjuk pada alamat elemen pertama saja karena letak alamat array sudah berurutan pada memori.Variabel pointer hanya perlu increment.

Struktur Data dan Algoritma Linked list

Posted by : Unknown
Date :
With 0komentar

TUGAS RESUME TIK dan ISLAM PERTEMUAN KE- 6

| Selasa, 11 November 2014
Baca selengkapnya »
Storage
Storage adalah penyimpan, tempat penyimpanan, media yang digunakan untuk menyimpan data yang diolah oleh komputer, Fungsi storage adalah menyimpan data atau file dalam jangka panjang dan pendek. Bentuk penyimpanan memori pun terbagi menjadi dua yaitu memori primer dan memori sekunder.
Storage

Storage Primer
Penyimpanan Primer yang dikenal sebagai Memori Primer. Memori Primer adalah satu-satunya yang dapat diakses secara langsung ke CPU yang berguna untuk membaca instruksi yang tersimpan di memori dan mengeksekusinya sesuai kebutuhan. Data apapun secara aktif dioperasikan dan disimpan di memori dengan cara yang sama.

Storage Sekunder
Penyimpanan Sekunder yang dikenal sebagai Memori Sekunder. Memori Sekunder adalah Memori yang berbeda dari penyimpanan utama karena tidak langsung dapat diakses oleh CPU. Komputer biasanya menggunakan input / output sekunder saluran untuk mengakses penyimpanan dan transfer data yang diinginkan melalui penyimpanan primer. Penyimpanan sekunder tidak kehilangan data bila perangkat diaktifkan. Penyimpananya pun lebih mudah dari penympanan utama.

Kapasitas Memory
Kapasitas Memory adalah Jumlah byte (karakter) media penyimpanan. Berikut ini adalah Satuan byte beserta Nilainya :

Processor or Virtual Storage 
  • 1 Bit = Binary Digit
  • 8 Bits = 1 Byte
  • 1024 Bytes = 1 Kilobyte
  • 1024 Kilobytes = 1 Megabyte
  • 1024 Megabytes = 1 Gigabyte
  • 1024 Gigabytes = 1 Terabyte
  • 1024 Terabytes = 1 Petabyte
  • 1024 Petabytes = 1 Exabyte
  • 1024 Exabytes = 1 Zettabyte
  • 1024 Zettabytes = 1 Yottabyte
  • 1024 Yottabytes = 1 Brontobyte
  • 1024 Brontobytes = 1 Geopbyte

Disk Storage
  • 1 Bit = Binary Digit
  • 8 Bits = 1 Byte
  • 1000 Bytes = 1 Kilobyte
  • 1000 Kilobytes = 1 Megabyte
  • 1000 Megabytes = 1 Gigabyte
  • 1000 Gigabytes = 1 Terabyte
  • 1000 Terabytes = 1 Petabyte
  • 1000 Petabytes = 1 Exabyte
  • 1000 Exabytes = 1 Zettabyte
  • 1000 Zettabytes = 1 Yottabyte
  • 1000 Yottabytes = 1 Brontobyte
  • 1000 Brontobytes = 1 Geopbyte
 Secara umum, memori dibedakan atas volatile dan non-volatile. Memori yang bersifat volatile akan kehilangan informasi yang disimpannya jika supply energy dihentikan. Contoh dari volatile memori adalah RAM, Random Access Memori. RAM merupakan memori utama sebuah komputer, bertugas untuk menerima informasi kemudian menyimpannya untuk digunakan ketika dibutuhkan.

Non-volatile memori akan tetap menyimpan informasi walaupun supply energy dihentikan. Contoh dari non-volatile memori adalah ROM, Read Only Memory. ROM merupakan sebuah contoh dari Progammable Logic Device, yakni perangkat yang dapat diprogram untuk menyimpan informasi spesifik untuk perangkat keras komputer.


Floppy Disk (Disk Drive)

Floppy Disk (Disk Drive) adalah alat untuk membaca disket sebagai tempat menulis dan menyimpan data serta menjalankan sistem operasi dan aplikasi. Pada tahun 1990-an sampai dengan 2002 masih banyak menggunakan disket sebagai media penyimpanan data dan menjalankan sistem operasi dan aplikasi.
Floppy Disk

Jenisnya terdiri dari 5.1/4 inci (ukuran besar) = 360-720 kb dan 3.1/5 inci (ukuran kecil) = 1,4 Mb. Sejak tahun 2003 sampai sekarang, alat yang satu ini mulai tidak digunakan lagi, karena kebanyakan orang lebih suka menggunakan flashdisk atau CD/DVD bahkan eksternal harddisk dan memory card.

Menulis data di disket memerlukan beberapa tahap yang harus dijalani oleh komputer dan disket itu sendiri. Tahapan itu adalah sebagai berikut:


  1. Program komputer akan meneruskan instruksi ke hardware komputer untuk menulis data pada floppy disk.
  2. Kemudian, hardware komputer dan kontroller dari disket akan menyalakan Motor pada disket untukmemutar floppy disk. Disk yang ada di disket berbentuk bundar dan terdiri dari segmen-segmen kecil yang dinamakan sector.
  3. Motor yang kedua, yang dinamakan stepper motor yang berfungsi untuk menempatkan heads ke track selanjutnya. Proses ini biasanya terjadi pada saat heads berada di track sebelumnya dan ingin mengakses track lainnya. Waktu dari track sebelumnya ke track setelahnya dinamakan "access time".
  4. Head dari read/write akan berhenti pada track. Head dari read akan mengecek apakah track tersebut  memiliki data atau tidak.
  5. Sebelum data dari program ditulis pada disket, sebuah erase coil akan membersihkan sector tersebut. Ukuran dari head pada write lebih besar daripada sector yang akan ditulis datanya.
  6. Head dari write yang telah diberikan energi akan menaruh data pada disket dengan cara memberikan magnet pada permukaan media recording (perekaman).
  7. Disket akan berhenti berputar. Disket sekarang akan menunggu perintah selanjutnya dari komputer
Hard Disk
Hard Disk
Hard Disk adalah perangkat keras komputer/laptop yang bekerja secara sistematis dimana menjadi media penyimpanan data. Data-data yang telah disimpan di dalam perangkat harddisk tidak akan hilang. Bahkan apabila pengguna mematikan perangkat komputer/laptop. Dengan kata lain, harddisk memiliki peran sebagai media penyimpanan yang bersifat permanen (data-data tidak akan hilang atau terhapus). Kapasitas daya tampung daripada harddisk itu sendiri juga terbilang cukup besar. Dimana kalkulasi yang dipakai adalah dalam ukuran Byte (B).


CD (Compact Disc)
Compact Disc
CD (Compact Disc) adalah sebuah media penyimpanan yang berbentuk piringan. Atau disebut juga optik pada generasi pertama yang menggantikan disket (floppy disc) pada waktu itu karena CD memiliki kapasitas penyimpanan yang lebih besar dengan harga yang sama. CD banyak digunakan untuk membuat film dengan resolusi kecil atau sebagai media transmisi software-software aplikasi. CD memperoleh puncak penjualan pada tahun 2000 mencpai 2.445 keping. Sebenarnya dalam hal kualitas suara CD masih kalah dengan kaset, cuma CD memiliki keunggulan di dalam kapasitas penyimpanan.

Spesifikasi CD

CD memiliki kapasitas penyimpanan data 700 MB pada CD single layer. Dan menggunakan teknologi laser merah dengan panjang gelombang 700 nm (nano meter).Untuk letak penyimpanan berada pada layer bagian atas disc.


DVD (Digital Versatile Disc)

Digital Versatile Disc atau biasa disebut DVD adalah disk optik generasi kedua pengembangan dari CD yang memiliki kapasitas penyimpanan lebih besar yaitu sekitar 7x dari CD. DVD meniliki kapasitas penyimpanan 4,7 GB single layer dan dapat memutar film atau video dengan resolusi 720x480 piksel. Oleh karena itu pada saat sekarang ini penyimpanan file video atau film lebih condong ke DVD. DVDR adalah DVD Recordable dan DVDRW adalah DVD ReWriteable. DVD pada single layer (DVD-5) dapat menyimpan sampai 2 jam film dengan mutu tinggi dan dilengkapi dengan audiotrack dengan format stereo Dolby digital atau DTS dengan seta juga advanced menu system, subtittle, maupun still picture.
Digital Versatile Disc
Spesifikasi  DVD

DVD masih menggunakan teknologi laser merah seperti halnya CD dengan panjang gelombang 635-650 nm (nano meter) sedangkan untuk data penyimpanan nya berada pada layer tengah  disc. Jadi data lebih aman dari pengaruh kerusakan disc. Tapi pada bagian bawah tetap ad pengaruh ketika terjadi kotor atau adanya goresan karena pada bagian bawah itulah optik laser merah untuk membaca data jadi ketika ada kotoran atau goresan itulah menyebabkan proses pembacaan menjadi lebih lama.

Perbedaan CD dan DVD
1.       Panjang Gelombang Sinar Laser
2.       Numerical aperture (NA)/Diafragma
3.       Daya tahan
4.       Kapasitas
5.       Biaya Produksi

TUGAS RESUME TIK dan ISLAM PERTEMUAN KE- 6

Posted by : Unknown
Date :Selasa, 11 November 2014
With 0komentar
Prev