Kamis, 22 November 2012

Kodingan Python

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH



Sebelum penulis membahas kodingan phyton, penulis ingin menjelaskan terlebih dahulu apa sih itu

python.... Python itu adalah tempat untuk kodingan  seperti C, C++, C#, Cabal, java, Php, Fotran

dan berbagai macam lainnya.... Bedanya python dengan kodingan lain adalah lebih tradisional,

lebih standar, lebih mudah tetapi tampilannya tidak begitu bagus dan standar...

Kenapa penulis membahas python??? karena algoritma Python penulis masih mengerti sedikit-sedikit,

dibandingkan Php atau yang lainnya...

Sebelum kita mulai lebih lanjut, mari kita mulai pemanasan terlebih dahulu....

Nah mari kita lihat dulu kodingan sederhana dari python sebelumnya:

a = "kita untuk semua"

print a

maka yang akan ke compile di phyton adalah kita untuk semua....

seperti contoh di bawah ini:


Nah hasilnya seperti di bawah ini:


Nah ini untuk mencetak huruf, namun bagaimana kalau ingin mencetak angka??? Maka seperti ini:

a = 10

print a

maka hasil yang ke compile adalah 10

seperti ini:

ini adalah kodingannya:

ini adalah hasilnya:


Nah sekarang penulis belajaryukyuk.blogspot.com ingin membahas tentang:

Kodingan algoritma matematika:

note: karena penulis kurang tahu bagaimana cara menggunakan kodingan pembagian jadi hanya tambah,

kurang, dan perkalian....

seperti ini:


perkalian adalah *, tambah adalah |, pengurangan adalah - dan pembagian adalah / ....

Nah itu untuk algoritma matematika yang standar... Sekarang daripada penulis menjelaskan satu-satu,

Penulis ingin langsung ke algoritmanya...

algoritma pertama:

linier : algoritma linier adalah ax = ( ax . c + d ) mod n


 blum blum shub generator (standar): algoritma blum blum shub adalah xi = (xi-1)^2 mod n


RSA : algoritma RSA ini agak sulit karena dia memakai import random dan import fractions....

Gunanya import random adalah untuk random.randint() yang dimana random.randint() adalah 

nilai yang akan masuk random dengan batas awal dan batas akhir seperti ini

random.randint(batas awal, batas akhir).... dan import fractions untuk fractions.gcd() gunanya untuk 

menghasilkan nilai yang kalau A*B%C = 1....

Rumusnya : kriptografi

mari kita lihat kodingannya:


key exchange: algoritma ini hampir sama seperti RSA tetapi hanya menggunakan import random....

Rumusnya Ka = Kb

seperti:



Nah penulis sudah membahas semua yang penulis tahu... Sebenarnya kodingan phyton masih banyak

lagi, cuma penulis susah menjelaskannya karena kodingan yang berikutnya menggunakan array, while,

for, if dan flag yang dimana penulis masih kurang mengerti....

Insya ALLAH  penulis belajaryukyuk.blogspot.com akan membahas di postingan-postingan berikutnya..

kebenaran datangnya dari ALLAH 

kesalahan dalam hal ini datangnya dari penulis....

penulis belajaryukyuk.blogspot.com mohon maaf apabila ada kesalahan

sumber referensi:

http://inderagunawan.blogspot.com/2011/03/cafe-python.html#


WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

Soal polygon

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH


Kali ini penulis ingin membahas soal polygon, ini ada di dalam pelajaran computational geometri....

jadi kita lihat dulu gambar yang pertama:






Disitu ada tanda segitiga atas, segitiga bawah, lingkaran hitam, kotak hitam, sama kotak biasa...

nah begini ketentuannya:

Segitiga atas yang warna hitam itu adalah split, dimana ketentuan split adalah bentuk yang mengarah

keatas seperti pada contoh di atas, dengan sudut dalam > 1800 sedangkan yang segitiga

bawah yang warna hitam itu adalah merge, dimana ketentuan adalah merge adalah bentuk segitiga yang

mengarah ke atas seperti contoh di atas, dengan sudut dalam sama seperti split > 1800 ......

Kalau bulatan itu adalah regular, dengan ketentuan masih memiliki garis yang lebih tinggi atau lebih

pendek, dan regular memiliki ketentuan apabila kiri dan kanannya regular maka tengah-tengahnya pasti

regular dan dia memiliki sudut dalam < 900 .....

Kini penulis belajaryukyuk.blogspot.com ingin membahas tentang start dan end.....

start memiliki simbol kotak kosong di tengahnya dengan ketentuan dia memiliki sudut > 900 dan dia

pasti berada di awal dan tidak ada yang lebih tinggi garisnya....

Sedangkan untuk end, dia memiliki kotak dengan warna hitam di tengahnya dengan ketentuan yang

sama yaitu sudut > 900 dan dia pasti berada di garis akhir dimana tidak ada garis yang lebih pendek

lainnya....

ini ketentuan berikutnya:

Nah dari ketentuan diatas bisa deh kita masukin... Lalu akan ada pertanyaan, bagaimana cara

menentukan berapa polygon minimum yang bisa dicari??? oke penulis belajaryukyuk.blogspot,com ingin

membahas apa yang penulis tahu... Begini, kita ambil dari split, merge dan regular.... 

Lalu kita hubungkan regular dengan merge dan regular dengan split... seperti ini:

Nah kita lihat kan, regular di V2 kita hubungkan dengan split di V4....



Nah seperti yang kita lihat hubungan diatas, sesudah itu kita hubungkan, baru kita taw berapa polygon

yang dihubungkan... Kalau mau yang lebih gampang gunakan rumus:

Min polygon = [N/3] = dimana N adalah titik sudut, jadi N = 19 titik sudut dan 19 / 3 = 5,sekian, 

dimana karena mencari minimum polygon, kita bulatkan menjadi 5.... setelah titik-titik ini dihubungkan,

akan menjadi seperti ini total polygonnya:


Nah sama kan, hehehehehe, yah kali penulis belajaryukyuk.blogspot.com ingin membahas urutan 

masing-masing titik sudutnya, karena penulis lagi males menulis manual, maka penulis menggunakan

gambar aja yha:


Nah seperti yang penulis ingin jabarin, seperti inilah contohnya.... sebenarnya lebih banyak lagi 

urutannya... Karena nanti ada yang namanya segitiga garis, jadi dibuat per 3 tapi karena penulis 

belajaryukyuk.blogspot.com ilmunya belum cukup jadi penulis tadi tidak ingin membahas lebih jauh

cukup yang penulis tahu saja.....

Nah untuk algoritma cara menghubungkannya bisa dilihat di bawah, misalkan:

V1 adalah start atau kotak kosong ditengahnya, dihubungkan dengan helper e1 maka dia tetap V1,

V2 adalah regular atau lingkaran hitam, dihubungkan dengan helper e1 maka dia ke V1

dan dihubungkan dengan helper e2 maka dia ke e3...

V3 adalah regular atau lingkaran hitam, dihubungkan dengan helper e2 maka dia ke V4....

dan seterusnya....



Maaf penulis belajaryukyuk.blogspot.com cuma bisa memberitahu segini aja...

Mohon maaf apabila ada kesalahan, penulis tidak bisa lepas dari kesalahan yang penulis buat...



sumber referensi:

http://id.wikipedia.org/wiki/Poligon

http://en.wikipedia.org/wiki/Polygon


WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

Kamis, 25 Oktober 2012

Microsoft Excel ( matematika )

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH


nah, sekarang penulis belajaryukyuk,blogspot.com ingin berbagi ilmu tentang Microsoft Excel....

bagaimana sih cara penggunaan Excel??? atau bagaimana cara penggunaannya???

baiklah mari kita bahas satu persatu...


nah seperti ini kira2 perkalian dalam Microsoft excel.... tinggal masukan angka maka akan keluar seperti 

ini....


maka hasilnya akan seperti ini, tetapi cara ini tidak efisien karena kalau datanya ada banyak maka, akan 

banyak juga yang harus diperkalikan, maka gunakan seperti ini...

\


mengapa??? karena walau datanya ada banyak tapi tidak merepotkan karena bisa menggunakan ditarik 

ke bawah.... koq??? oke begini pertama klik tanda yang dibawah yaitu:



nah sesudah itu tarik ke bawah seperti ini:


nah gampang kan gak perlu ngetik-ngetik lagi...

nah sekarang berikutnya total penjumlahan.... ini rada-rada mudah karena kita menggunakan sum,

seperti ini:


nah sesudah itu kita sudah menulis, maka kita enter untuk mengetahui jawabannya:


kalau anda tidak mempercayai, silakan anda mencoba, penulis belajaryukyuk.blogspot.com hanya ingin

berbagi...

nah selanjutnya, kita memakai rumus tambah, apa sih rumus tambah biasa??? sebelumnya penulis ingin

menjelaskan kalau sum = itu total pertambahan, tapi kalau tambah-tambah biasa bisa pake manual bisa

pake yang automatic....

ini manual:



nah ini yang manual, tapi bagaimana yang automatic???

nah inilah automatic:



nah inilah automatic, kenapa disebut automatic oleh saya, karena satu hal, bisa ditarik ke bawah, jadi

tidak perlu repot-repot harus masukin angka....

nah sekarang pertambahan sudah, perkalian sudah, maka yang berikutnya pengurangan dan pembagian..

Hampir sama dengan perkalian dan pertambahan hanya beda simbol saja...

seperti ini:


ini adalah yang manual untuk pengurangan



ini adalah yang automatik untuk yang pengurangan

seperti yang sudah penulis jelaskan diatas... bahwa perbedaan automatik dan manual bisa dilihat...




ini adalah salah satu contoh pembagian, yang atas automatik dan yang bawah manual.....

sebenarnya penulis ingin membahas lebih lanjut lagi tentang Microsoft Excel, tapi berhubung udah pagi

dan penulis ingin tidur... maka penulis lanjutkan di post selanjutnya...

intinya dari ini adalah seperti ini:

simbol pertambahan = +

simbol perkalian = *

simbol pengurangan = -

simbol pembagian = /

dah itu aja yang penulis bagikan dulu untuk sementara... sisanya kalau ada salah penulis mohon maaf...

ini video bisa untuk dipelajari:




referensi:






WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

Selasa, 23 Oktober 2012

lanjutan metode hill chiper

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

yha teman-teman, sekarang ingin berbagi tentang lanjutan dari kriptografi hill chipher....

silakan dilihat...







nah inilah lanjutannya, soal berbeda tetapi sudah ada jawabannya.... 

nah seperti ini kira-kira soalnya...

kalau ingin lebih lanjut, pelajari dulu kriptografi hill chiper yang ada di post sebelumnya, kemudian baru

dipelajarin yang ini, pasti penulis yakin anda mengerti....

terima kasih, kekurangan penulis tolong dimaklumi...

WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

Rumus perkalian

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

yha bertemu lagi dengan penulis di belajaryukyuk.blogspot.com

disini penulis ingin berbagi rumus-rumus...

rumus pertama:

bayangkan kita berada di ujian, tetapi ujian ini rada-rada sulit...

seperti ini:

    1028
    2027 x
    ?????

baiklah, sebelumnya penulis menyelesaikan jawaban di atas, mari penulis bahas soal yang lebih mudah

seperti ini:

    12
    22 x
    ????

langkah 1:

     2 x 2 = 4

langkah 2:
      
     1 x 2 = 2

langkah 3:

     2 x 2 = 4

langkah 4:

      1 x 2 = 2

langkah 1 + 10 x langkah 2 = 24  ---> langkah 5

langkah 3 + 10 x langkah 4 = 24   ---> langkah 6

langkah 5 + 10 langkah 6 = 264

jawaban dari 12 x 22 = 264

baik bagaimana kalau angkanya 1028 x 2027 ???

maka seperti soal yang gampang pertama kita buat:

langkah 1:

     8 x 7 = 56

langkah 2:

     2 x 7 = 14

langkah 3:

      0 x 7 = 0

langkah 4:

      1 x 7 = 7

kita gabungkan menjadi: langkah 1 + 10 x langkah 2 + 100 langkah 3 + 1000 langkah 4 = 7196  --> W

langkah 5:

      8 x 2 = 16

langkah 6:

      2 x 2 = 4

langkah 7:

      0 x 2 = 0

langkah 8:

      1 x 2 = 2

kita gabungkan menjadi langkah 5 + 10 x langkah 6 + 100 langkah 7 + 1000 langkah 8 = 2056  --> X

langkah 9:

      8 x 0 = 0

langkah 10:

     2 x 0 = 0

langkah 11:

     0 x 0 = 0

langkah 12:

     1 x 0 = 0

kita gabungkan menjadi langkah 9 + 10 x langkah 10 + 100 x langkah 11 + 1000 x langkah 12 = 0  -> V

langkah 13:

      8 x 2 = 16

langkah 14:

      2 x 2 = 4

langkah 15:

      0 x 2 = 0

langkah 16:

      1 x 2 = 2

kita gabungkan menjadi langkah 13 + 10 x langkah 14 + 100 x langkah 15 + 1000 x langkah 16 = 2056 

--> Z

nah hasil akhirnya adalah W + 10X + 100V + 1000Z = 2083756  ....

inilah jawabannya...

nah sekarang adalah

rumus kedua:

soalnya sama kek tadi, cuma kita sekarang menggunakan langkah yang lebih pendek...

contoh soal:

         12

         22 x
         ?????

nah kita buat seperti ini:

langkah 1:

     12 x 2 = 24

langkah 2:

     12 x 2 = 24

kita gabungkan menjadi langkah 1 + 10 x langkah 2 = 264

oke, itu sudah saya pendekkan langkahnya... bayangkan kalau langkahnya kita buat untuk soal yang

kedua.... hmmmm baiklah, mari penulis coba jabarkan:

     1028
     2027 x
     ?????

oke, kita masukkan:

Langkah 1:

      1028 x 7 = 7196

Langkah 2:

       1028 x 2 = 2056

langkah 3:

        1028 x 0 = 0

langkah 4:

        1028 x 2 = 2056

kita gabungkan langsung menjadi langkah 1 + 10 x langkah 2 + 100 x langkah 3 + 1000 langkah 4 

                                        =     2083756

sekarang penulis beritahu apa sih kelebihan dan kelemahan rumus pertama dan kedua...

rumus pertama:

Kelebihan = 

- lebih bisa dimengerti karena perkalian 1 x 1
- dapat dipelajarin
- bisa dihitung tangan atau coret-coretan
- tidak perlu kalkulator

Kelemahan =

- lama
- langkahnya banyak
- kalau tidak mengikuti langkah, maka jawabannya dipastikan error...

rumus kedua:

Kelebihan:

- langkahnya sedikit
- lebih bisa dipelajarin dan dikembangkan
- cocok untuk yang sudah pro ( penulis tidak pro, jadi musti pake kalkulator, kekekekekeke )....
- bisa dihitung dengan coret-coretan ( kalau menggunakan tangan atau pikiran harus pro )....

Kelemahan:

- caranya memang dikit, tetapi kemungkinan errornya besar karena skala hitungnya lebih besar
- membutuhkan kalkulator untuk keakuratan
- kalau untuk newbie atau yang baru belajar disarankan tidak memakai rumus ini karena satu langkah

salah maka salah semua, berbeda dengan rumus pertama masih bisa dicek salahnya, kalau yang ini

musti memiliki ketelitian yang luar biasa detail....

nah segitu saja penulis belajaryukyuk.blogspot.com ini menulis....

lebih dan kurangnya penulis mohon maaf...

WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

Senin, 22 Oktober 2012

kodingan metode hill chiper...

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH

Disini sekarang penulis hanya ingin berbagi kodingan tentang enkripsi dan dekripsi, karena penulis tidak

bisa kodingan, maka penulis akan memberitahu FB, nama yang menulis kodingan ini adalah 

Kukuh Prabowo.... Orang ini kerjaannya sebagai guru les juga bekerja sebagai desainer web bersama 

Aga Rasyidi Sukandar.... harap dimengerti dan jangan ada pertanyaan dalam hal ini karena penulis 

tidak mengerti apapun... okelah kita mulai saja

kalau begitu....

enkripsi:

#include <stdio.h>
#include <conio.h>
#include <string.h>

void main()
{
int encrypt[5];
   encrypt[0]=2;
   encrypt[1]=3;
   encrypt[2]=1;
   encrypt[3]=2;
   int tumpang[60];
   int hasilakhir[60];
char kata[30]="abcdefghijklmnopqrstuvwxyz";
   char ambil[60];

   int k;

   int l, m, n, o;
   l=0;
   printf("Input Kata: ");
   do
   {
   scanf("%s", &ambil);
   }while(strlen(ambil)%2!=0);
   fflush(stdin);
   k=0;

   for(int i=0;i<strlen(ambil);i++)
   {
    for(int j=0;j<strlen(kata);j++)
      {
      if(ambil[i]==kata[j])
         {
          //printf("%c",kata[j]);
          tumpang[k]=j;
            k++;
         }
      }
   }

   for(int y=0;y<k;y++)
   {
    if(y==0 || y%2==0)
      {
    l=(matriks[0]*tumpang[y])+(matriks[1]*tumpang[y+1]);
      if(l>=26)
      {
      n=l%26;
      hasilakhir[y]=n;
      }
      else
      {
      hasilakhir[y]=l;
      }
      }
      else
      {

      l=(matriks[2]*tumpang[y-1])+(matriks[3]*tumpang[y]);
      if(l>=26)
      {
      n=l%26;
      hasilakhir[y]=n;
      }
      else
      {
      hasilakhir[y]=l;
      }
      }


   }
   for(int p=0;p<k;p++)
   {
   printf("%c",kata[hasilakhir[p]]);
   }
   getch();
}

dekripsi:

#include <stdio.h>
#include <conio.h>
#include <string.h>

void main()
{
   int decrypt[5];
   decrypt[0]=2;
   decrypt[1]=23;
   decrypt[2]=25;
   decrypt[3]=2;
   int tumpang[60];
   int hasilakhir[60];
char kata[30]="abcdefghijklmnopqrstuvwxyz";
   char ambil[60];
   

   int k;

   int l, m, n, o;
   l=0;
   printf("Masukkan Kata nya: ");
   do
   {
   scanf("%s", &ambil);
   }while(strlen(ambil)%2!=0);
   fflush(stdin);
   k=0;

   for(int i=0;i<strlen(ambil);i++)
   {
    for(int j=0;j<strlen(kata);j++)
      {
      if(input[i]==kata[j])
         {
         
          tumpang[k]=j;
            k++;
         }
      }
   }

   for(int y=0;y<k;y++)
   {
    if(y==0 || y%2==0)
      {
    l=(invers[0]*tumpang[y])+(invers[1]*tumpang[y+1]);
      if(l>=26)
      {
      n=l%26;
      hasilakhir[y]=n;
      }
      else
      {
      hasilakhir[y]=l;
      }
      }
      else
      {

      l=(invers[2]*tumpang[y-1])+(invers[3]*tumpang[y]);
      if(l>=26)
      {
      n=l%26;
      hasilakhir[y]=n;
      }
      else
      {
      hasilakhir[y]=l;
      }
      }


   }
   for(int p=0;p<k;p++)
   {
   printf("%c",kata[hasilakhir[p]]);
   }
   getch();
}

referensi:



WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH







Single layer dan backpropagation

ASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH



sekarang penulis akan membahas tentang metode single neuron dan algoritma back propagation yang 

penulis tahu...



metode yang akan saya bahas yaitu single neuron bukan multi neuron....

jadi begini, misalkan dalam kasus:

oke begini, dalam rumus kan menggunakan f = 1 / (1 + e-y ) jadi lalu di dalam soal itu ada 

X1 = 0.8                       W1 = 0.25
X2 = 0.2                       W2 = 0.75
X3 = 0.4                       W3 = 0.5
X4 = 0.4                       W4 = 0.3

Kita memakai rumus:

Y = Σ  Xi  Wi
  = X1 W1 + X2 W2 + …… + X4 W4
  =  0.2 + 0.15 + 0.2 + 0.12
  = 0.67


kemudian baru kita masukkan ke rumus f = 1 / (1 + e-y ) menjadi:

f = 1 / (1 + e-0.67 )
f = 0.6615

nah itu tadi dasarnya single neuron, karena penulis tidak mengerti kodingan jadi ini hanya copas saja dari punya temen...



nah itu tadi single neuron, sekarang kita masuk ke algoritma backpropagation....

apa sih itu back propagation????

Backpropagation adalah metode umum dari pelatihan jaringan saraf tiruan sehingga dapat meminimalkan fungsi tujuan. Arthur E. Bryson dan Yu-Chi Ho menggambarkannya sebagai metode sistem multi-tahap optimasi dinamis pada tahun 1969. [1] [2] Itu tidak ' t sampai 1974 dan kemudian, bila diterapkan dalam konteks jaringan saraf dan melalui karya Paul Werbos , [3] David E. Rumelhart , Geoffrey E. Hinton dan Ronald J. Williams , [4] [5] yang mendapat pengakuan , dan itu menyebabkan "renaisans" dalam bidang penelitian jaringan saraf tiruan.

nah disini penulis hanya ingin membahas tehnik-tehnik algoritma back propagation:

contoh soal:

1. di dalam algoritma backpropagation, terdapat 1 layer input yang berisi 4 node, 1 hidden layer yang berisi 4 node dan 1 layer output yang berisi 1 node.
a. tentukan gambarnya dan 
b. berikan notasinya juga 
c. aktifkan matriks tersebut (random)...

jawaban:
a. 

b. kita masukkan dalam notasi sebagai berikut [ u v ], dimana u adalah input layer x output layer = 4 x 5 dan v adalah 5 x 1...

maka kita masukkan menjadi:

U11     U12     U13     U14     U15  --> INPUT 1
U21     U22     U23     U24     U25  --> INPUT 2
U31     U32     U33     U34     U35  --> INPUT 3
U41     U42     U43     U44     U45  --> INPUT 4

V11 --> INPUT 1 ( HIDDEN LAYER KE OUTPUT LAYER )
V21 --> INPUT 2 ( HIDDEN LAYER KE OUTPUT LAYER )
V31 --> INPUT 3 ( HIDDEN LAYER KE OUTPUT LAYER )
V41 --> INPUT 4 ( HIDDEN LAYER KE OUTPUT LAYER )
V51 --> INPUT 5 ( HIDDEN LAYER KE OUTPUT LAYER )

c. karena ini adalah random, maka kita bisa membuat semau angka kita, tetapi karena penulis ingin mencontohkan jadi penulis buat batas -0.5 ≤ x ≤ 0.5 menjadi:


U =

0.2       0.3       -0.2      -0.4      0.3
0.1       -0.1      -0.5      0.5       0.2
0.1       -0.4      -0.5      0.3       0.1
0.1       0.3       -0.4      -0.1      0.4


V =

0.1
-0.2
-0.35
-0.25
0.5

maka selesailah, sebenarnya algoritma backpropagation masih memiliki banyak langkah lagi, tetapi

penulis hanya ingin berbagi apa yang sudah penulis pelajarin... lebih dan kurangnya penulis minta maaf...


referensi:







WASSALAMU'ALAIKUM WARAHMATULLAHI WABARAKATUH