Ads 468x60px

Labels

Minggu, 08 Juli 2012

LDR


1.     LDR (Light Dependen Resistor)
ldr adalah merupakan resistor peka cahaya atau biasa disebut dengan fotoresistor, dimana nilai resistansinya akan menurun jika ada penambahan intensitas cahaya yang mengenainya.
fotoresistor dibuat dari semikonduktor beresistansi tinggi. jika cahaya yang mengenainya memiliki frekuensi yang cukup tinggi, foton yang diserap oleh semikonduktor akan menyebabkan elektron memiliki energi yang cukup untuk meloncat ke pita konduksi. elektron bebas yang dihasilkan (dan pasangan hole-nya) akan mengalirkan listrik, sehingga menurunkan resistansinya.
Karakteristik LDR terdiri dari dua macam yaitu Laju Recovery dan Respon Spektral:

lebih lengkap dan jelasnya download di sini

video dapat diliha disini

Sabtu, 28 Januari 2012

KNAPSACK

KNAPSACK

Algoritma Knapsack adalah algoritma kriptografi kunci-publik yang keamanannya terletak pada sulitnya memecahkan persoalan knapsack(Knapsack Problem). Knapsack di sini artinya adalah kantung. Di algorima ini dikenal permasalahan yang disebut Knapsack Problem.

Knapsack Problem
Jika m merupakan bobt knapsack dan n adalah banyaknya objek yang masing-masing mempunyai bobot w1,w2,…,wn. Tentukan nilai bi sedemikian sehingga
M=b1w1+b2w2+…+bnwn
Yang dalam hal ini bi hanya bernilai 0 dan 1. Jika b=1, maka objek I dimasukkan ke dalam Knapsack, sebaliknya jika b=0, maka tidak dimasukkan ke dalam knapsack.


Algoritma Knapsack Sederhana
Ide dasar Knapsack adalah mengkodekan pesan sebagai rangkaian solusi dari persoalan knapsack. Setiap bobot w1 di dalam persoalan knapsack merupakan kunci privat, sedangkan bit-bit plainteks menyatakan b1
Contoh :
Misalkan n=6 dan w1=1, w2=5, w3=6, w4=11, w5=14 dan w6=20.
Plainteks = 111001010110000000011000
Jawab:
Plainteks dibagi menjadi blok yang panjangnya n, kemudian setiap bit di dalam blok dikalikan dengan w1 yang berkoresponden sesuai persamaan di atas:
Blok plainteks ke-1 : 111001
Blok plainteks ke-2 : 010110
Blok plainteks ke-3 : 000000
Blok plainteks ke-4 : 011000
Knapsack : 1,5,6,11,14,20
Kriptogram ke-1 : (1×1) + (1×5) + (1×6) + (1×20) =32
Kriptogram ke-2 : (1×5) + (1×11) + (1×14) = 30
Kriptogram ke-3 : 0
Kriptogram ke-4 : (1×5) + (1×6) = 11
Jadi, cipherteks yang dihasilkan : 32, 30, 0, 11
Untuk algoritma di atas hanya bias digunakan untuk enkripsi saja. Misalkan kita diberikan kriptogram 32, maka kita harus mencari nilai b1,b2,…,b6 untuk persamaan 32 = b1+5b2+6b3+11b4+14b5+20b6

Solusi dari persamaan di atas tidak dapat dipecahkan dalam orde waktu polynomial dengan orde waktu polynomial dengan semakin besar n dan barisan bobot tidak dalam urutan naik.

Super increasing knapsack
Superincreasing knapsack adalah persoalan knapsack yang dapat dipecahkan dalam orde 0(n) yang bersifat polynomial. Ini adalah perrsoalan knapsack yang mudah. Kita dapat membentuk barisan superincreasing kannpsack. Barisan superincreasing adalah suatu barisan di mana setiap nilai di dalam barisan lebih besar daripada jumlah semua nilai sebelumnya, misalnya(1,3,6,13,27,52).
Solusi dari superincreasing knapsack mudah dicari dengan cara berikut:
1.Jumlahkan semua bobot dalam barisan.
2.Bandingkan bobot total dengan bobot terbesar di dalam barisan. Jika bobot terbesar lebih kecil atau sama dengan bobot total, maka ia dimasukkan ke dalam knapsack, jika tidak, maka tidak dimasukkan.
3.Kurangi bobot total dengan bobot yang telah dimasukkan, kemudian bandingkan bobot total sekarang dengan bobot terbesar selanjutnya. Demikian seterusnya sampai seluruh bobot di dalam barisan selesai dibandingkan.
4.Jika bobot total menjadi nol, maka terdapat solusi superincreasing knapsack, tetapi jika tidak nol, maka tidak ada solusinya.
Contoh :
Misalkan bobot-bobot yang membentuk barisan superincreasing adalah (2,3,6,13,27,52) dan diketahui bobot knapsack (m) = 70. untuk mencari nilai bi, caranya adalah sebagai berikut:

1.Bandingkan 70 dengan nilai terbesar yaitu 52. Karena 52< 52="18," 13="5">5, maka 6 tidak termasuk.
2. Bandingkan bobot 3 dengan bobot total. Karena 3<5, 3="2." 2="0." 70 =" (1×2)" m="105," n="31." 105 =" 62" 105 =" 93" 105 =" 81" 105 =" 88" 105 =" 102" 105 =" 37" 1=" 1" 1=" 1"> n. n-1= 1 + km => n. n-1= (1+km)/n, k sembarang bilangan bulat..Kalikan setiap kriptogram dengan n-1 mod m, lalu nyatakan hasil kalinya sebagai penjumlahan elemen-elemen kunci privat untuk memperoleh plainteks dengan menggunakan algoritma pencarian solusi superincreasing knapsack.Contoh:Dari contoh sebelumnya, dengan menggunakan kunci privat (62,93,81,88,102,37). Di sini, n=31 dan m=105. Nilai n-1 diperoleh dari: n-1 = (1+105k)/31, dengan mencoba k=0,1,2,…, maka kita akan memperoleh nilai n-1 jika k=18.n-1 = (1+105.18)/31 = 61Plain teks yang berkoresponden diperoleh kembali dengan cara membuka di awal yang telah kita bahas. Hasilnya akan diperoleh174.61 mod 105 = 9 , bobotnya 3+6, berkoresponden dengan 011000280.61 mod 105 = 70 , bobotnya 2+3+13+52, berkoresponden dengan110101333.61 mod 105 = 48 , bobotnya 2+6+13+27, berkoresponden dengan 101110
Jadi plainteksnya adalah: 011000 110101 101110


ARRAY

ARRAY

Struktur Data Array
Definisi array
Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Elemen-elemen array tersusun secara sekuensial dalam memory computer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi (multi dimensi).

Array Satu Dimensi
Array Satu Dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetaoi isi dari elemen tersebut boleh berbeda.
Bentuk umum dari array:
Nama Array[n]={elemen0,elemen1,elemen2,…,n}
N=jumlah elemen

Array Dua Dimensi
Array Dua Dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama.
Bentuk umum:
Nama Array [m][n];
Atau
Nama Array [m][n]={ {a,b,..,z},{1,2,….,n-1} };
Contoh:
Double matrik [4][4];
Bool papan [2][2] = { {true,false} };
Pendeklrasian array dua dimessi hamper sama dengan pendeklarasian array satu dimensi, kecuali bahwa array dua dimensi terdapat dua jumlah elemen yang terdapat di dalam kurung siku dan keduanya boleh tidak sama.
Elemen array du dimensi diakses dengan menuliskan kedua indeks elemennya dalam kurung siku seperti pada contoh berikut:
//papan nama memiliki 2 baris dan 5 kolom
Bool papan [2][5];
Papan[0][0] =true;
Papan[0][4]=false;
Papan[1][2]=true;
Papan[1][4]=false;

Struktur array
Struktur data Array adalah organisasi kumpulan data homogen yang ukuran atau jumlah elemen
maksimumnya telah diketahui dari awal. Array umumnya disimpan di memori komputer
secara kontigu (berurutan). Deklarasi dari array adalah sebagai berikut:
int A[5]; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung. Nilai
di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati
posisi-posisi lain.
Terdapat dua tipe operasi, yaitu:
1. Operasi terhadap satu elemen/posisi dari array
2. Operasi terhadap array sebagai keseluruhan

Dua operasi paling dasar terhadap satu elemen/posisi adalah
1. Penyimpanan nilai elemen ke posisi tertentu di array
2. Pengambilan nilai elemen dari posisi tertentu di array

Penyimpanan dan Pengambilan Nilai
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan
dan pengambilan nilai elemen pada posisi tertentu di array.
Contoh:
A[10] = 78, berarti penyimpanan nilai 78 ke posisi ke-10 dari array A
C = A[10], berarti pengambilan nilai elemen posisi ke-10 dari array A

Keunggulan dan Kelemahan Array

Keunggulan array adalah sebagai berikut:
1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu
secara langsung tanpa melalui elemen-elemen lain.
2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-
elemen tetangga, baik elemen pendahulu atau elemen penerus 3
3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga, maka penggunaan penyimpanannya sangat efisien


Kelemahan array adalah sebagai berikut:
Array mempunyai fleksibilitas rendah, karena array mempunyai batasan sebagai berikut:
1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen
adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit
diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi
terus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan.

Jumat, 27 Januari 2012

SORTING

                                      Pengurutan (Sorting)

• proses mangatur sekumpulan obyek/data menurut urutan atau susunan tertentu.
• Urutan obyek/data tersebut dapat menaik (ascending) atau menurun (desencending).
• Data yang diurutkan dapat berupa data bertipe dasar atau data bertipe struktur
• Data yang sudah terurut memiliki keuntungan yaitu Mempercepat proses pencarian data.


       Metode Pengurutan
 Algoritma pengurutan / sorting bermacam-macam dan setiap algoritma ini memiliki kinerja yang berbeda-beda. Berikut ini macam-macam algoritma pengurutan:

1. Metode Selection Sort
2. Metode Buble Sort
3. Metode Insertion




Hal yg mempengaruhi Kecepatan Algoritma Sorting adalah Jumlah Operasi Perbandingan & Jumlah OperasiPemindahan Data

        Selection Sort (Metode Seleksi).
Tehnik pengurutan dengan cara pemilihan elemen dgn memilih elemen data terkecil utk kemudian dibandingkan & ditukarkan dgn elemen pd data awal, dst s/d seluruh elemen shg akan menghasilkan pola data yg telah disort.

• Merupakan kombinasi antara sorting dan searching
• Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array.
• Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]).

ALGORITMA SELECTION SORT.

  1. Pengecekan dimulai data ke-1 sampai dengan data ke-n
  2. Tentukan bilangan dengan Index terkecil dari data bilangan tersebut
  3. Tukar bilangan dengan Index terkecil tersebut dengan bilangan  pertama ( I = 1 ) dari data bilangan tersebut
  4. Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal
                                  Metode Bubble Sort (Gelembung)
Teknik yang diinspirasi oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung lebih ringan dari pada air, maka gelembung akan naik keatas.
(benda yang berat akan terbenam, benda ringan terapung).
Elemen data  yang paling kecil diapungkan “diangkat keatas” melalui proses pertukaran.
Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya

Algoritma Bubble Sort
  1. Pengecekan mulai dari data ke-1 sampai  data ke-n
  2. Bandingkan data ke-n dengan data sebelumnya (n-1)
  3. Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada didepannya     ( sebelumnya  ) satu persatu  (n-1,n-2,n-3,....dst)
  4. Jika lebih besar maka tidak terjadi pemindahan
  5. Ulangi langkah 2 dan 3 s/d sort optimal.

Analogi :
*      Larik dengan urut menaik, elemen larik yang berharga paling kecil ‘diapungkan’, artinya  diangkat  ke  atas  (atau  ke  ujung  kiri  larik)  melalui  proses  pertukaran.
*      Proses pengapungan ini dilakukan sebanyak N-1 langkah dengan N adalah ukuran larik.
*      Pada  akhir  setiap  langkah  ke-I,  larik  L[1..N]  akan  terdiri  atas  dua  bagian  yaitu  bagian  yang  sudah  terurut,  yaitu  L[1..I]  dan  bagian  yang  belum  terurut L[I+1..N]. Setelah langkah terakhir, diperoleh larik L[1..N] yang terurut menaik.

Bubble Sort Disebut juga dengan metode Penukaran (Exchange Sort), yaitu metoda yang mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.
Algoritma Metode gelembung :
-          langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
-          langkah 1 : Kerjakan langkah 2 untuk  i = 1 sampai N-1
-          langkah 2 : Kerjakan langkah 3 untuk  j = 1 sampai N- i
-          langkah 3 : Tes apakah A[j]  >  A[j +1] ? Jika ya, tukarkan nilai kedua elemen  ini
-          langkah 4 : Selesai
 
                        Metode INSERTION SORT (Sisip)

1)      Algoritma ini dianalogikan seperti  mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya.
2)      Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
3)   Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang

Analogi :
  • mengurutkan satu set kartu dari kartu yang bernilai paling kecil hingga yang paling besar.
  • Seluruh kartu diletakkan pada meja, kita sebut meja pertama, disusun dari kiri ke kanan dan atas ke bawah.
  • Kemudian  pada meja kedua tempat meletakkan kartu yang diurutkan.
  • Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama dan letakkan pada meja kedua.
  • Ambil kartu kedua dari meja pertama, bandingkan dengan kartu yang berada pada meja kedua, kemudian letakkan pada urutan yang sesuai setelah perbandingan.
  •  Proses tersebut akan berlangsung hingga seluruh kartu pada meja pertama telah diletakkan berurutan pada meja kedua.


Materi ini kudapat dari kelompok 3

Rabu, 11 Januari 2012

SEARCHING


SEARCHING STRAIT MAXMIN

2.1            DEFINISI SEARCHING STRAIT MAKSMIN
          Shearcing strait maksmin adalah program untuk mencari data atau nilai yang lebih besar atau lebih kecil dari data yang lain. Dalam program ini inputan berupa kumpulan data, maksutnya bahwa data yang dimasukkan lebih dari satu. Langkah-langkah dari proses hamper mirip yang berbeda hanya nilai yang dicari. Penggunaan operator (<, lebih kecil) dan (>, lebih besar) sering digunakan dalam proses ini. Operator diatas digunakan sebagai pembanding antara data pertama dan selanjutnya.

            Prose awal pada searching strait maksmin ini adalh inisial, elemen pertama dari suatu data disimpan dan diinisialkan terlebih dahulu lalu dijadikan sebagai pembanding pertama. Jika ada elemen yang bernilI lebih rendah atau lebih tinggi dari elemen pertama, maka elemen kedua inilah yang akan disimpan dan diinisialkan, yang selanjutnya akan dibandingkan dengan elemen data yang lain sampai elemen data ke-N.

            Pada proses ini juga ditandai dengan adanya proses looping atau pengulangan proses. Setelah melakukan eksekusi pada elemen data kedua lalu proses dilanjutkan dengan elemen selanjutnya dengan step atau langkah yang sama seperti pada elemen data yang kedua.


2.2            SEARCHING STRAIT MAKSIMUM
Untuk menjelaskan proses pencarian data terbesar atau data  maksimum dari sekelompok data, di bawah ini akan diberikan contohnya terlebih dahulu.
Jika diketahui sebuah sebuah larik data atau vector A yang memiliki 6 elemen data,sebagai berikut:
                        A         :           45        24        43        23        66        55
Untuk menemukan data maksimum dari vector A, dapat dilakukan dengan cara sebagai berikut. Mula-mula elemen pertama dalam A, yaitu 45 di aggap sebagai data maksimum. Selanjutnya 45  kita bandingkan dengan elemen data yang kedua, yaitu 24. Karena 45 lebih besar dari 24, maka data maksimumnya tetap, yaitu 45. Selanjutnya, 45 kita bandingkan   dengan elemen data yang ketiga yaitu 43. Harga data maksimum sebelumnya adalah lebih besar dari 43, sehingga data maksimumnya masih tetap, yaitu 45. Proses dilanjutkan untuk membandingkan kembali data maksimum sementara dengan data-data pada urutan selanjutnya secara berurutan hingga data pada urutan akhir. Ketika dibandingkan dengan data urutan yang ke-5, yaitu 66, ternyata 45 lebih kecil dari 66. Pada akhirnya setelah dibandingkan dengan keseluruhan data dalam vector A, data 66 merupakan data terbesar atau maksimum.

Secara ringkas, jika N menyatakan cacah elemen dalam vector yang diberi nama A, kemudian I menyatakan variable pencacah sekaligus berfungsi sebagai indeks untuk mengidentifikasi setiap elemen data dalam variable  A, sehingga elemn-elemen pada vector  A secara berurutan akan dapat diidentifikasi sebgai A[1], A[2], A[3], dan seterusnya hingga A[N]. untuk mendapatkan data maksimum dalam data dalam vector A, mula-mula A[1] dianggap sebagai nilai maksimum. Selanjutnya dibandingkan dengan data yang lain, jika data yang dibandingkan lebih besar dari data maksimum maka data maksimum diganti dengan data yang leboih besar. Proses tersebut terus berulang. Pada akhir prosedur seperti ini akan memberikan hasil berupa elemen data yang maksimum yang terdapat pada vector A.

Jika maksimum menyatakan variable untuk data maksimum yang akan dicari, maka flowchart untuk mencari data maksimum sebagaimana dijelaskan adalah:

 
2.3           MENCARI DATA MINIMUM


            Pasa kasus yang lain, jika diinginkan menccari data terkecil atau data minimum dari sekelompok data atau vector, pada dasarnya langkah-langkah yang dilakukan adalah sama dengan algoritma prosedur pencarian data maksimum sebagaiman dijelaskan sebelumnya. Perbedaannya adalah terletak pada langkah ke-4, yaitu pertukaran data akan dilakukan jika data pada ukuran berikutnya memiliki harga yang lebih rendah dari nilai sebelumnya. Pada vector A dalam contoh sebelumnya, nialai 23 adalah merupakan data minimum atau terkecil dari semua data pada vector A. jika minimum merupakan variable yang digunakan untuk menyimpan harga minimum yang akan dicari, maka algoritma prosedur untuk mencari nilai minimum adalah sebagai berikut:

 
Teknik Pencarian Maxmin Searching Dengan Teknik
Straitmaxmin
Menentukan / mencari elemen max & min. Pada Himpunan yang berbentuk array linear, waktu tempuh / time complexity yang digunakan untuk menyelesaikan pencarian hingga mendapatkan solusi yang optimal terbagi atas best case, average case, dan worst case
Algoritma untuk mencari elemen MaxMin :
Procedure STRAITMAXMIN(A,n,max,min)
Integer i,n
max  ! min  ! A(i)  
FOR i ! 2 To n DO
IF A(i) > max
Then max  ! A(i)
ELSE IF A(i) < min Then min ! A(i) ENDIF
ENDIF
REPEAT
END STRAITMAXMIN

1.      BEST CASE
·         Keadaan yang tercapai jika elemen pada himpunan a disusun secara increasing (menaik). Dengan perbandingan waktu n-1 kali satuan operasi

Contoh : terdapat himpunan A yang berisi 4 buah bilangan telah disusun secara increasing A = 2,4,5,10. Dengan A(1) = 2, A(2) = 4, A(3) = 5, A(4) = 10. Tentukan atau cari bilangan Max & Min serta jumlah operai perbandingan yang dilakukan

Penyelesian
untuk masalah tersebut dapat digunakan procedure STRAITMAXMIN yang menghasilkan bilangan min = 2 bilangan max = 10, operasi perbandingan mencari bilangan MaxMin dari himpunan tersebut = 3 kali operasi.
2.      WORST CASE
Terjadi jika elemen dalam himpunan disusun secara decreasing ( menurun ). Dengan Operasi perbandingan sebanyak 2 ( n-1) kali satuan operasi

Contoh :
Mencari elemen MaxMin dan jumlah Operasi perbandingan yang dilakukan terhadap himpunan A yang disusun decreasing.
A= { 80,21,6,-10}

Penyelesaian :
untuk masalah tersebut dapat digunakan procedure STRAITMAXMIN adalah elemen max = 80 dan elemen min = 10, operasi perbandingan untuk elemen MaxMin tersebut adalah 2(4-1) = 6 kali satuan operasi.

3.      AVERAGE CASE
Jika pencarian elemen MaxMin dilakukan pada elemen dalam himpunan yang tersusun secara acak ( tidak decreasing / tidak increasing )jumlah operasi. Perbandingan yang dilakukan adalah rata – rata waktu tempuh best case dan worst case yaitu ½[(n-1) + 2(n-1)]=(3n/2 – 1)kali

Contoh
Pada Himpunan A yang berisi {5,-4,9,7} dilakukan pencarian elemen max & min dengan menggunakan proses STRAIT MAXMIN. Berapa elemen maxmin yang didapat dan jumlah operasi perbandingan yang dilakukan.

Penyelesaian :
Elemen Max = 9, dan elemen min = -4
Jumlah operasi perbandingan adalah (3 *4/2-1)=5 kali satuan operasi








Rabu, 04 Januari 2012

Profile

Profile

Lukman Hakim
9911201050
T.I / 1A
POLIWANGI

Home


ini adalah Blog sederhana yang aku buat untuk kepentingan Belajar
" Tuntutlah Ilmu sampai yang yaqin itu datang "
Semoga Blog ini dapat membantu anda dangan baik