This is default featured post 1 title
Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.
This is default featured post 2 title
Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.
This is default featured post 3 title
Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.
This is default featured post 4 title
Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.
This is default featured post 5 title
Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.
Jumat, 13 November 2015
Refleksi Minggu Ke-8 #04/11/2015
Minggu, 25 Oktober 2015
Refleksi Minggu ke 5 dan 7 #07,21/10/2015
(node) yang tersusun secara sekuensial, saling sambungmenyambung,
dinamis dan terbatas.
- Linked List sering disebut juga Senarai Berantai
- Linked List saling terhubung dengan bantuan variabel pointer
- Masing-masing data dalam Linked List disebut dengan node (simpul) yang
menempati alokasi memori secara dinamis dan biasanya berupa struct
yang terdiri dari beberapa field.
Single Linked List adalah sebuah LINKED LIST yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode LINKED LIST, suatu daftar isi yang saling berhubungan.
Selasa, 06 Oktober 2015
Refleksi Minggu ke 4 #30/09/2015
Refleksi Minggu ke 1 dan 2 #09,16/09/2015
berikut capture nya
terimakasih :)
Rabu, 03 Juni 2015
Refleksi Minggu ke-12 #27/05/2015
Recording (Rekaman)
No.
|
NIM
|
Nama
|
Hadir1
|
Hadir2
|
…
|
Hadir10
|
1
|
08018011
|
Adityo Wicaksono
| ||||
2
|
08018012
|
Vendi Rinanto
| ||||
3
|
08018013
|
Tana Raharjo
|
- No : integer
- NIM : string
- Nama : string
- Tgl_kuliah : array [1..10] of tanggal
Refleksi Minggu Ke-11 #20/05/2015
Array Dua Dimensi
kolom j=0
|
kolom j=1
|
kolom j=2
| |
baris i=0
|
A[0][0] = 1
|
A[0][1] = -2
|
A[0][2] = 3
|
baris i=1
|
A[1][0]= -4
|
A[1][1] = 0
|
A[1][2] = -1
|
Refleksi Minggu Ke-10 #13/05/2015
Sorting (Pengurutan)
- Usaha : mengurutkan dari data tak terurut menjadi data terurut à perlu waktu
- Masalah : efisiensi (peningkatan kecepatan pencarian)
- Metode : bubble (gelembung), insertion (penyisipan), selection (pemilihan), merge (penggabungan), quick, shell, radix, dll.
- Prinsip : seperti gelembung, yang besar akan “naik”, yang kecil akan “tetap” di bawah
- Setiap data (misalnya data pertama) akan dibandingkan dengan data yang ada di sebelahnya (dari data kedua sampai selesai) .
- Bila data pertama tersebut lebih besar dari data yang ada pada data sesudahnya, dilakukan penukaran tempat atau posisi data.
- Demikian, untuk data kedua sampai dengan data terakhir dilakukan dengan cara serupa.
Data awal :
|
[8, 4, 7, 3, 1, 2, 6, 5]
|
8ßà4, 4ßà3, 3ßà1
|
fase 1
|
[1, 8, 7, 4, 3, 2, 6, 5]
|
8ßà7, 7ßà4, 4ßà3, 3ßà2
|
fase 2
|
[1, 2, 8, 7, 4, 3, 6, 5]
|
8ßà7, 7ßà4, 4ßà3
|
fase 3
|
[1, 2, 3, 8, 7, 4, 6, 5]
|
8ßà7, 7ßà4
|
fase 4
|
[1, 2, 3, 4, 8, 7, 6, 5]
|
8ßà7, 7ßà6, 6ßà5
|
fase 5
|
[1, 2, 3, 4, 5, 8, 7, 6]
|
8ßà7, 7ßà6
|
fase 6
|
[1, 2, 3, 4, 5, 6, 8, 7]
|
8ßà7
|
fase 7
|
[1, 2, 3, 4, 5, 6, 7, 8]
| |
fase 8
|
[1, 2, 3, 4, 5, 6, 7, 8]
|
void tukar (int &a, int &b)
{ int temp;
temp = a;
a = b;
b = temp;
}
void buble_sort (int x[], int n)
{ int i, j;
for (i = 0; i<n-1; i++)
for (j = i+1; j<n; j++)
if (x[i] > x[j]) tukar(x[i], x[j]);
}
|
- Addalah metode pengurutan data dengan menempatkan setiap elemen data pada posisinya dengan cara melakukan perbandingan dengan data-data yang ada. Dalam pengurutan data ke dua, kemudian data yang diambil akan dibandingan dengan data-data yang ada disebuah kiri/ data sebelumnya (data-data sebelumnya data yang diambil/ jika selesai akan dilanjutkan dengan data selanjutnya).
Data awal :
|
[8, 4, 7, 3, 1, 2, 6, 5]
|
fase 1, 4 masuk
|
[4, 8, 7, 3, 1, 2, 6, 5]
|
fase 2, 7 masuk
|
[4, 7, 8, 3, 1, 2, 6, 5]
|
fase 3, 3 masuk
|
[3, 4, 7, 8, 1, 2, 6, 5]
|
fase 4, 1 masuk
|
[1, 3, 4, 7, 8, 2, 6, 5]
|
fase 5, 2 masuk
|
[1, 2, 3, 4, 7, 8, 6, 5]
|
fase 6, 6 masuk
|
[1, 2, 3, 4, 6, 7, 8, 5]
|
fase 7, 5 masuk
|
[1, 2, 3, 4, 5, 6, 7, 8]
|
fase 8
|
[1, 2, 3, 4, 5, 6, 7, 8]
|
procedure insertion_sort(input/output data:larik;
input n:integer)
|
Deklarasi
i, j, ditangan : integer
|
Deskripsi
for j ß 2 to n do
ditangan ß data[j]
for i ß j-1 asalkan {(i >= 0) dan (data[i] > ditangan)} do
data[i+1] ß data[i]
i--
endfor
data[i+1] ß ditangan
|
- Diberikan sederetan kartu :[8, 4, 7, 3, 1, 2, 6, 5]
- Langkah 1 : dicari terkecil pertama ditaruh paling kiri (pertama)
- Langkah 2 : dicari terkecil kedua ditaruh paling kiri kedua, dst.
Data awal :
|
[8, 4, 7, 3, 1, 2, 6, 5]
|
1 terkecil, 8ßà1
|
fase 1
|
[1, 4, 7, 3, 8, 2, 6, 5]
|
2 terkecil, 4ßà2
|
fase 2
|
[1, 2, 7, 3, 8, 4, 6, 5]
|
3 terkecil, 7ßà3
|
fase 3
|
[1, 2, 3, 7, 8, 4, 6, 5]
|
4 terkecil, 7ßà4
|
fase 4
|
[1, 2, 3, 4, 8, 7, 6, 5]
|
5 terkecil, 8ßà5
|
fase 5
|
[1, 2, 3, 4, 5, 7, 6, 8]
|
6 terkecil, 7ßà6
|
fase 6
|
[1, 2, 3, 4, 5, 6, 7, 8]
|
7 terkecil, tetap
|
fase 7
|
[1, 2, 3, 4, 5, 6, 7, 8]
| |
fase 8
|
[1, 2, 3, 4, 5, 6, 7, 8]
|
Procedure minimum(input A : larik; dari, n : integer; output tempat : integer)
{ mencari tempat di mana elemen terkecil ditemukan}
|
Deklarasi
i, min : integer
|
Deskripsi
min ß A[dari];
tempat ß dari;
for i ß dari+1 to n do
if A[i] < min then
min ß A[i];
tempat ß i;
endif
endfor
|
Refleksi Minggu Ke-9 #06/05/2015
Searching adalah mencari data yang di cari dalam sebuah memory. ada beberapa metode searching antaranya :
A. Linear search
- Input : array aray dengan banyak data sebanyak ukuran.
- Output : data kunci dalam array aray.
- Prinsip :setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk (worst case)). Bila pada posisi ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i. Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada aray.
function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer
|
Deklarasi
ketemu : boolean
i, n : integer
|
Deskripsi
ketemu ß false {belum ketemu }
n ß 1 { mulai dari elemen pertama }
while ((n < ukuran) and (not ketemu)) do
if (aray[n] = kunci) then { dibandingkan }
ketemu ß true { data ketemu }
i ß n { pada posisi ke-i, posisi disimpan }
endif
else n ß n+1 { cek data berikutnya }
endwhile
if ketemu then pencarianLinier ß i { data ketemu pada posisi ke-i }
else pencarianLinier ß -1 { data tidak ketemu }
endif
end
|
Bahasa C++ |
#include <iostream.h>
#define UKURAN 100
int pencarianLinier(int array[], int kunci, int ukuran)
{ int i;
for (i=0; i<=ukuran-1; ++i)
if (array[i] == kunci)
return i;
return -1;}
|
- Asumsi : data sudah dalam keadaan terurut (naik) Contoh : Buku telepon, presensi kuliah, dll.
- Kunci akan selalu dibandingkan dengan data yang berada di tengah (middle)
- Bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah).
- Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan).
- Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).
function pencarianBiner(input aray : larik; kunci, low, high : integer) : integer
|
Deklarasi
ketemu : boolean
i, middle : integer
|
Deskripsi
ketemu ß false
while (low <= high) and (not ketemu) do
middle ß (low+high) div 2
if (kunci = aray[middle]) then ketemu ß true { data pencarian = data di tengah }
else if (kunci < aray[middle]) then
high ß middle – 1 {data akan dicari lagi di sebelah kiri}
else low ß middle + 1 {data akan dicari lagi di sebelah kanan}
endif
endwhile
if ketemu then pencarianBiner := middle
else pencarianBiner := -1
endif
|
Bahasa C++ |
int pencarianBiner(int b[], int kunciPencarian, int low, int high)
{ int i, middle;
while (low <= high) {
middle = (low+high) / 2;
if (kunciPencarian == b[middle])
return middle;
else if (kunciPencarian < b[middle])
high = middle - 1;
else low = middle + 1;
}
return -1;
}
|