Monthly Archives: September 2008

Fans??

Yah, gw termasuk terlalu sering posting. Maklum gw ini banyak pikiran. Bagusnya dikeluarin. Kali ini gw mau komentarin beberapa hal tentang fans.

Baru aja, gw nemuin sebuah posting seorang fans nikita willy di fs. Bunyinya gini:
———————————————————————————–
Gw hanya seorang yang gagal menjalani kehidupan….
Tapi Kenapa Gw bisa punya perasaan yang dalam sama Nikita….
dan Gw ga bisa ngelupain dia….
Kenapa harus Nikita? kenapa bukan yang lain…, yang sederajat sama Gw?
Ada apa dengan diri Gw?
Di satu sisi Gw bangga suka sama Nikita….
Tapi di sisi lain, Gw kecewa Sama diri Gw, kenapa Gw punya perasaan sama orang yang mustahil Gw dapetin….
Gw sadar, Gw sangat tidak pantas Buat Nikita…
Derajat Gw dan dia terlampau jauh bagai langit dan bumi…
Gw bagaikan ” The Beast” dan Nikita ” Beauty ” nya…
Gw cuman bisa Berdoa buat kebahagiaannya saja….
Lebih baik klo Gw ga pernah terlahir kedunia ini, dari pada hidup Gw ga karuan seperti ini dan selalu nyusahin orang2x di sekitar Gw….

—————————————————————————————

Ngebaca ini, gw jadi mikir sendiri. Apakah fans itu harus begini? Menjelek-jelekan diri sendiri cuma karena merasa tidak pantas dengan “Sang Idola”? Ketahuilah wahai para fans, tidak ada gunanya engkau menggecewakan dirimu sendiri, sementara banyak orang lain yang lebih mengecewakan darimu.

Sekarang, maaf untuk Nikita Willy, coba kita bayangkan bagaimana perasaan Nikita kalau dia tahu ada (dan banyak) yang cenderung merusak diri cuma karena fans padanya. Cemas? Sedih? Takut? Tapi sebagai artis, toh dia tidak pikirkan itu. Kasus lama, sudah basi. Lain halnya kalau fans tersebut berubah jadi maniak yang mengejar-ngejar dia seperti anjing mengejar tulang.

Pesan khusus untuk para fans Nikita Willy, bukannya mau provokasi, tapi coba pikirkan kalau seandainya kalian cuma bisa berkhayal ingin dekat dengan Nikita. Kalian bisa tenggelam dalam harapan yang dalam, mengecewakan, dan hampir tak mungkin tercapai. Pasti tidak ada yang lebih membahagiakan para fans daripada bisa kenal baik dengan sang idola. Tapi setelah kita kenal baik dengannya, apa benar dia sebaik yang kita bayangkan?

Jujur, kenapa gw bahas masalah fans Nikita, bukannya fans yang lain, karena gw juga salah satu fansnya. Bukan fans berat, seneng aja ngeliatnya. Maklum anak muda. Tapi kalau sampai terus-terusan berkhayal, nggak sudi, deh ngayalin anak kecil kayak dia (sori…). Gw punya kehidupan sendiri yang perlu diurus.

Pesan khusus untuk seorang fans yang postingnya gw kutip: Santai bro! ngefans gak gitu-gitu amat kali! Sampe sok puitis gitu! Dah basi!

Maaf untuk semua yang terkait.

IPA vs IPS

Di hampir semua sekolah tingkat SMA di Indonesa, saat siswa sudah kelas 11 (kelas 2 SMA), mereka diharuskan memilih antara 2 jurusan: IPA (Ilmu Pengetahuan Alam) atau IPS (Ilmu Pengetahuan Sosial). Sejauh ini, sistem penyeleksiannya adalah melalui minat, apakah siswa tersebut lebih berminat pada yang satu daripada yang lain. Minat ini ditanyakan saat siswa masih kelas 10 (kelas 1 SMA) oleh guru BK (Bimbingan Konseling). Kalau misalnya siswa tersebut ternyata tidak memiliki minat khusus, dia akan diseleksi melalui nilai. Kalau nilainya cukup tinggi, dia dimasukan ke IPA, sisanya IPS.

Perhatikan yang barusan gw tulis: Kalau nilainya cukup tinggi, dia dimasukan ke IPA, sisanya IPS! Kok bisa IPS jadi sisanya? Itulah yang gw lihat dilingkungan gw. Ada siswa yang rajin, ia dimasukan ke IPA. Kemudian ada siswa yang tukang cabut dari sekolah, dimasukan ke IPS. Kenapa begitu? Nah, ini yang gw mau bahas.

Tidak perlu dari nilai, minat siswa saja sudah 90 % ingin IPA. Banyak siswa (dan paling sering orang tua) menganggap IPA lebih tinggi derajatnya daripada IPS. Alasannya karena lebih elit, lebih gampang kuliahnya, lebih gampang cari kerja, dll. Diakui, lebih banyak anak IPA yang meraih prestasi di berbagai tempat. Sebut saja OSN salah satunya. Bahkan medali dicabang Ekonomi (yang notabane adalah IPS) beberapa direbut oleh anak IPA.

Yah, ini masalah kemampuan, sih. Gw juga nggak bisa salahin dia. Tapi benarkah IPA lebih pintar dari IPS? TIDAK!

IPA mengutamakan logika, sedangkan IPS mengutamakan hafalan. Tidak semua, tapi dominasi. Itu berarti, setiap bidang memiliki spesialisasinya sendiri. Tapi kalau misalnya ada beberapa dari siswa cabang tertentu menguasai cabang lainnya, itu bagus. Kesimupulannya, setiap cabang memiliki kriteria sendiri dalam pemilihannya.

Tapi coba lihat cara penyeleksian yang dilakukan sekarang. Hampir semua anak yang tidak mampu untuk belajar dengan tekun malah dilempar ke IPS. Menurut saya, IPS justru memerlukan ketekunan lebih tinggi daripada IPA, karena IPS mengharuskan siswanya untuk mengenal lingkungan sosialnya, yang hampir semuanya tidak terdapat didalm buku. Tapi ternyata kenyataan bertindak lain. Untuk diketahui, ada guru gw di sekolah, saat mengetahui ada anak yang berkasus, dia selalu bilang: “Memang tuh, anak IPS!”.

Ketahuilah wahai bu guru, anda saya kutuk setiap bicara seperti itu.

Kriteria yang selama ini terus dipenuhi hanya kriteria IPA. Rajin, tekun, cerdas, paham ,dll. Kriteria IPS tidak pernah benar-benar dipenuhi oleh siswanya. Apanya yang orang sosial kalau dia terus-terusan cabut, meniggalkan tanggung jawab yang sebenarnya diajarkan oleh IPS? Ketahuilah, IPS bukan cabang buangan. Para pemimpin yang benar-benar berhasil tidak datang dari cabang IPA, tapi IPS.

Sebenarnya, penyebab IPA menjadi lebih baik daripada IPS ya itu tadi: Kriteria IPA yang selalu dipenuhi, dan IPS menjadi buangan. Cara penyeleksian ini sudah berlangsung bertahun-tahun sebelum kita lahir. Sekarang, setelah kita diizinkan untuk memilih cabang ilmu, saran yang kita terima adalah saran dari orang-orang kolot yang ketinggalan jaman yang menganggap IPA lebih baik dari IPS. Huh!

Gw sendiri ingin bekerja dibidang komputer. Cabang IPA atau IPS bukan masalah. Tapi orang tua tidak mengizinkan waktu itu. Mereka mau gw masuk IPA, jadi dokter. Ya sudah, berhubung gw waktu itu belum ada tujuan hidup yang pasti, gw ikuti. Belakangan gw menyesal. Gw perhatikan IPA tidak secerdas yang disebut-sebut, sementara IPS tetap menjadi cabang buangan. Gimana dong?

Cuma ada satu cara: kita lebih baik tidak bergantung pada sistem dan nasehat orang lain. Sistem yang sudah rusak dari dulu dan saran dari orang- orang hasil sistem yang rusak tidak ada gunanya. Lebih baik kita mendiskusikan jalan hidup dengan orang yang memang dibidang ilmu khusus ini (sosiologi misalnya). Konklusinya, tidak masalah IPA atau IPS, asal keinginan itu berasal dari hati dan tempat kita memenuhi keinginan itu sudah baik sistemnya.

Sistem pendidikan kita yang masih kurang baik (maunya sih gw bilang bobrok, tapi kasar banget ya?) terus membimbing kita kearah yang salah. Kita diajarkan untuk menjadi arogan dengan masuk IPA dan menyombongkan diri bahwa kita lebih pintar dari IPS. Semua ini terjadi secara kasat mata, tidak terlihat begitu saja. Tapi gw yakin para pemerhati masyarakat pasti menyadari kesalahan sistem pendidikan kita. Bagi mereka yang belum sadar, semoga tulisan ini bisa menyadarkan mereka.

Azas Praduga Mana yang Terbaik?

Presumption of Innocence, atau dalam bahasa Indonesia disebut Azas Praduga Tak Bersalah, merupakan azas yang menjadi dasar peradilan di beberapa negara di dunia. Seseorang dapat dikatakan bersalah hanya dan hanya jika dinyatakan terbukti bersalah dalam peradilan. Azas ini bukan tanpa masalah. Menurut Seorang ahli hukum bernama Satjipto Rahardjo, penerapan azas ini secara membabi-buta akan membuat banyak kejahatan tidak bisa dibuktikan.

Dikutip dari sebuah opini di majalah PC MEDIA edisi 09/2008 oleh Bernaridho I. Hutabarat, seorang Business Intelligence Expert (ahli bisnis), apabila azas ini sama sekali tidak boleh dilanggar, maka surat penggeledahan tidak akan pernah bisa dikeluarkan. Dikeluarkannya surat penggeledahan merupakan suatu pengecualian dari azas ini. Ada praduga bahwa seseorang bersalah, sehingga diizinkan melakukan penggeledahan.

Bukannya mau merusak kepercayaan masyarakat terhadap azas praduga tak bersalah, tapi sebenarnya azas ini BENAR-BENAR bermasalah. Sekarang ini sudah bisa dilihat, beberapa (bukan semua) kasus-kasus besar yang melibatkan orang berkuasa sulit untuk dibuktikan. Ini lebih dikarenakan mereka memiliki paling tidak seorang pengacara yang selalu menekankan azas praduga tak bersalah, sehingga lebih sulit bagi para aparat hukum untuk melakukan penyelidikan. Bagaimana cara membuktikan seseorang bersalah atau tidaknya di pengadilan adalah berdasarkan bukti fisik dan saksi. Sementara saksi tidak selalu jujur, bukti fisik baru bisa didapat apabila telah dilakukan suatu penyelidikan menyeluruh termasuk menyelidiki apa-apa yang ada disekitar si (terdakwa?tersangka? lupa istilahnya). Jelas ini tidak selalu memungkinkan apabila azas ini diterapkan terlalu jauh.

Tapi untunglah pemerintah kita tidak terlalu meninggikan azas praduga tak besalah. Salah satunya adalah dibentuknya KPK atau Komisi Pemberantasan Korupsi, yang diberikan hak untuk “melanggar” azas ini. Pemerintah tetap memberikan pengecualian terhadap kasus-kasus yang merugikan negara. Walaupun tidak terlalu menjangkau kasus-kasus kecil, ini sudah cukup.
Sekarang, setelah mencaci Azas Praduga Tak Bersalah, kita lihat juga sisi baiknya. Azas Praduga Tak Bersalah melarang para aparat berlaku semena-mena pada orang yang tidak terbukti bersalah, dan mencegah terjadinya salah vonis. Azas ini juga menjaga hak azazi manusia agar tidak dilanggar terlalu jauh.

Bagaimana dengan Azas Praduga Bersalah? Azas ini berarti dalam peradilan, bukti dan saksi yang dibawa ke pengadilan lebih untuk membuktikan tidak bersalah. Kalau tidak ada bukti bahwa ia tidak bersalah, maka ia bersalah. Kebalikan dari azas praduga tak bersalah yang mencari bukti bahwa ia bersalah, dan kalau tidak ada bukti maka tidak bersalah.
Sekilas azas praduga bersalah terlihat kejam, dan beresiko terjadinya salah vonis. Tapi azas ini setidaknya memastikan bahwa akan ada yang bertanggung jawab terhadap suatu permasalahan. Aparat hukum juga bisa bekerja lebih cepat dan efisien karena segala cara diizinkan untuk menyelesaikan suatu perkara.

Seperti yang tadi disebut, sebenarnya Indonesia, yang sebenarnya menganut azas praduga tak bersalah, agak mencampurnya dengan azas praduga bersalah, sehingga untuk saat-saat tertentu aparat hukum masih diizinkan untuk “menghalalkan segala cara”, dan sampai sekarang, ini masih yang terbaik.

Jadi mau pilih mana? Praduga tak bersalah atau Praduga Bersalah? Sepertinya tidak ada bedanya. Keduanya memiliki kelemahan dan kekurangan. Tidak ada yang salah 100% tapi juga tidak ada yang benar 100%. Tergantung kita dalam memilih. Misalnya kita bekerja dibidang keuangan, tidak baik jika kita menerapkan azas praduga tak bersalah. Coba bayangkan apabila seorang bendahara organisasi percaya begitu saja semua pengeluaran yang diminta oleh ketuanya. Dan juga tidak mungkin menerapkan azas praduga bersalah untuk hubungan guru dan murid. Dengan kata lain semua ada tempatnya.

Makna Terselubung "Bukan Superstar"

Ku bukan superstar, kaya dan terkenal,
Ku bukan saudagar, yang punya banyak kapal,
Ku bukan bangsawan, ku bukan priyayi,
Ku hanyalah orang yang ingin dicintai…..

Tau lagu Project Pop “Bukan Superstar”, kan? Lirik lagunya lucu, menghibur, dan video klipnya juga bikin ketawa. Lagu yang ini diciptakan oleh personil Project Pop (lupa yang mana) ini sekarang lagi banyak diputar di tv dan di radio.

Saat pertama dengar lagu ini, jujur gw juga mau ketawa. Kasian banget ya orangnya, bisanya cuma berandai-andai, tapi kenyataannya gak ada apa-apanya. Tapi makin sering gw dengar lagu ini, makin berpikirlah gw. Sebenarnya lirik lagu “Bukan Superstar” ini memiliki makna yang dalam, yang sering terjadi di sekitar kita sekarang.

Sering kan kita lihat banyak remaja yang meniru-niru gaya idolanya, apakah itu artis, aktor, apapun deh pokoknya (tapi jelas bukan monyet). Ada yang rambutnya dibentuk-bentuk pakai segenggam minyak rambut, diwarnai pula, pakai kaos lengan buntung, atau celana di pinggul. Semuanya ditiru demi untuk mengidentifikasikan dirinya dengan sang idola. Bahkan mungkin sampai cara jalan dan bicara.

Ada juga sih bagusnya. Kalau sang idola itu kebetulan memiliki perangai baik, tentu menirunya tidak akan menjadi masalah besar. Tapi kenyatannya? Yang ditiru justru yang menyimpang dari nilai-nilai yang berlaku.

Bukannya idealis, tapi gw sendiri kurang suka meniru gaya dari seorang idola, siapapun itu. Lain ceritanya berfoto dengan cara tertentu supaya mirip (yang notabane sering gw lakukan), meniru gaya seseorang cenderung akan merusak prilaku asli kita. Jangan lupa, ada kemungkinan prilaku kita sekarang sebenarnya lebih baik daripada prilaku idola kita.

Berangkat dari pendapat tadi, gw coba mendalami makna dari lirik tadi, walau mungkin penciptanya sendiri tidak memperhatikan ini. Mohon diperhatikan, gw TIDAK berusaha untuk MEMPROMOSIKAN apapun. Ini adalah pendapat netral.

Di bait awal, lagu ini mengandaikan kita apabila menjadi seorang yang terkenal, yang diidolakan banyak orang. Betapa bahwa kita bisa dengan mudahnya mendapatkan segala sesuatu. Di bagian chorus, kita kembali disadarkan bahwa kita bukan siapa-siapa, tapi kita berharap ada yang menerima kita apa adanya. Sebenarnya, INI JUGA SALAH!

Ya, kita mungkin bukan siapa-siapa. Kita cuma orang biasa yang serba biasa. Tapi kalau cuma berharap ada orang yang menerima kita apa adanya, sama juga dengan kita menunggu nomor undian, walaupun dapat belum tentu sesuai yang diharapkan. Seharusnya kita BERUSAHA agar orang lain bisa menerima kita apa adanya, bukan cuma berharap.

Berandai-andai ada baiknya. Coba bayangkan kalau kita tidak punya idola untuk jadi target pengandaian, pastinya kita juga tidak punya target untuk menjadi lebih baik. Tapi itu BUKAN BERARTI kita harus mengidentifikasikan diri dengan sang idola, melainkan lebih kepada meniru cara hidup sang idola tanpa merusak cara hidup kita sendiri.

Sekarang kita masuk ke bagian reff. Isinya seperti memberitahu bahwa kita bukan siapa-siapa, dan kita cuma berharap untuk ada yang mencintai. Kalau kita perdalam maksudnya, sebenarnya itu bisa dimaksudkan sebagai pernyataan “Kami adalah diri kami sendiri, bukan superstar, saudagar, bangsawan, atay priyayi. Kami adalah diri kami sendiri dan kami bangga karena itu”. Munkin gw mau tambahin sedikit saja, sebuah kalimat: “Ada yang keberatan? Harap minggir”

Narsis boleh saja. Tapi kita sebaiknya tetap berpegang teguh pada prinsip kita sendiri, bukan terpengaruh orang lain. Tidak ada untungnya buat kita kalau kita cuma meniru yang telah ada. Mana yang lebih baik: Jadi versi kedua dari orang lain, atau menjadi versi terbaik dari kita sendiri? Ketahuilah, sesungguhnya diri kita masing-masing ini unik. Tidak ada orang lain yang bisa mendekati, apalagi menjadi, seperti diri kita sekarang.

Pembahasan: Kriptografi

Nah, berhubung ternyata gak ada yang ngebahas soal gw, gw jadi terdorong untuk ngebahas soal gw sendiri yang tentang kriptografi. Positif thinking aja, mungkin anak-anak osn kompi lain lagi sibuk menghadapi nasib… eh, pelatnas.

Kenapa gw bahas soal ini di blog gw sendiri dan bukannya di blog osn kompi? Yah, alasannya sederhana aja, gw cuma mau mempromosikan blog gw ini. Jadi jangan marah yaaa…

Oke, kita mulai pembahasan ini dengan melihat contoh testcase kita:
Input:
agung
keren
agung
cool
agung utama
ganteng

Output:
KKLRT
CUIYI
GGHGK ATNFE

Algoritma kriptografi ini (yang notabane disebut “Vigenere Chiper”) untuk dipemograman sebenatnya sederhana:
1. Input plain text.
2. Input sandi.
3. Rubah huruf pertama plain text dengan huruf pertama sandi sesuai tabel.
4. Kalau bertemu spasi, jangan di proses, dan sandi dimulai lagi dari huruf pertama.
5. Kalau sudah sampai ke huruf akhir sandi, kembalikan ke huruf pertama sandi.
Baca soal lagi kalau tidak mengerti dengan algoritmanya.

Gak sulit kan? Tapi yang terlihat ternyata tidak semudah kelihatannya. Coba lihat lagi poin ke 3. Kita diminta mencocokan dengan tabel. Sekedar cerita, dulu gw bikin kodenya pakai array 2 dimensi, jadi keluaran sandi[huruf plain, huruf sandi] adalah hasilnya. Cara ini bisa dibuat untuk enkripsi, tapi gimana dengan dekripsi? Silahkan coba sendiri.

Kalau pakai array juga memakan memori banyak. Satu variabel char sudah 1 byte. Kalau ada 26 huruf berarti ada 26 X 26 variabel char (676 variabel). Kelihatannya sedikit, tapi tidak efektif. Jadi marilah kita tinggalkan cara ini.

Coba perhatikan tabel kriptografi ini. Kalau diperhatikan, sebenarnya chiper text merupakan hasil increment dari plain text. contoh: ‘A’ dengan sandi ‘A’ menghasilkan ‘A’ lagi. ‘A’ dengan sandi ‘B’ menghasilkan ‘B’. Kalau ‘F’ dengan sandi ‘L’ akan menghasilkan ‘Q’ (huruf ‘F’ naik sebanyak ‘L’ – 1 kali).

Sekarang, dalam pascal kita bisa tulis:
////////////////////////////////////////////////////////
var
input : string; //variabel untuk plain text
sandi : string; //variabel untuk sandi
i,j,k : byte; //variabel untuk (i)iterasi, (j)panjang sandi, dan (k)hurufsandi

begin
repeat //untuk perulangan

readln(input); //input plain
if input = ” then exit; //kalau kosong, selesai

readln(sandi); //input sandi

j := length(sandi); //simpan panjang sandi
input := upcase(input); //jadikan input huruf besar
sandi := upcase(sandi); //jadikan sandi huruf besar
k := 1; //simpan huruf ke berapa sandi akan dipakai

for i := 1 to length(input) do
begin
if input[i] = ‘ ‘ then begin k := 1; continue; end;
//kalau huruf spasi, jangan diproses
input[i] := chr( ord(input[i]) + ord(sandi[k]) – 65 );
//huruf input dinaikan sebanyak huruf sandi dikurangi 65(ASCII dari ‘A’)
if ord(input[i]) > ord(‘Z’) then
input[i] := chr( ord(input[i]) – 26 );
//Kalau lebih dari Z maka kurangi 26 huruf
k := k + 1;
//Gunakan huruf sandi berikutnya
if k > j then k := 1;
//Kalau lebih panjang dari sandi itu sendiri, kembalikan ke huruf pertama
end;

writeln(input); //cetak hasilnya

until input = ”;

end.
////////////////////////////////////////////////////////

Dari logika tadi, maka untuk mendekrip bisa kita rubah sedikit kodenya. Dimana setiap simbol dibalik.
////////////////////////////////////////////////////////
var
input : string; //variabel untuk plain text
sandi : string; //variabel untuk sandi
i,j,k : byte; //variabel untuk (i)iterasi, (j)panjang sandi, dan (k)hurufsandi

begin
repeat //untuk perulangan

readln(input); //input plain
if input = ” then exit; //kalau kosong, selesai

readln(sandi); //input sandi

j := length(sandi); //simpan panjang sandi
input := upcase(input); //jadikan input huruf besar
sandi := upcase(sandi); //jadikan sandi huruf besar
k := 1; //simpan huruf ke berapa sandi akan dipakai

for i := 1 to length(input) do
begin
if input[i] = ‘ ‘ then begin k := 1; continue; end;
//kalau huruf spasi, jangan diproses
input[i] := chr( ord(input[i]) – ord(sandi[k]) + 65 );
//huruf input diturunkan sebanyak huruf sandi ditambah 65(ASCII dari ‘A’)
if ord(input[i]) <> j then k := 1;
//Kalau lebih panjang dari sandi itu sendiri, kembalikan ke huruf pertama
end;

writeln(input); //cetak hasilnya

until input = ”;

end.
////////////////////////////////////////////////////////

Sebenarnya untuk tugas yang sekarang kode ini sudah cukup, karena testcase sudah pasti tidak memiliki karakter lain selain alphabet dan spasi. Tapi sebenarnya dalam Vigenere Chiper, ada kemungkinan kalau input memiliki karakter khusus (seperti “‘!@#$%^&* dll). Maka, ada baiknya kita melakukan pengecualian proses untuk karakter-karakter tersebut. Kalau gw lebih suka pakai tipe set.
var
…..
himp : Set of char;
…..

jadi kode enkrip:
////////////////////////////////////////////////////////
var
input : string; //variabel untuk plain text
sandi : string; //variabel untuk sandi
i,j,k : byte; //variabel untuk (i)iterasi, (j)panjang sandi, dan (k)hurufsandi
himp : Set of char //variabel himpunan karakter yang diizinkan

begin
repeat //untuk perulangan

readln(input); //input plain
if input = ” then exit; //kalau kosong, selesai

readln(sandi); //input sandi

j := length(sandi); //simpan panjang sandi
input := upcase(input); //jadikan input huruf besar
sandi := upcase(sandi); //jadikan sandi huruf besar
himp := ['A'..'Z']; //krakter yang diizinkan dari A sampai Z
k := 1; //simpan huruf ke berapa sandi akan dipakai

for i := 1 to length(input) do
begin
if input[i] = ‘ ‘ then begin k := 1; continue; end;
//kalau huruf spasi, jangan diproses
if not(input[i] in himp) then continue;
//kalau tidak termasuk huruf yang diizinkan, jangan diproses
input[i] := chr( ord(input[i]) + ord(sandi[k]) – 65 );
//huruf input dinaikan sebanyak huruf sandi dikurangi 65(ASCII dari ‘A’)
if ord(input[i]) > ord(‘Z’) then
input[i] := chr( ord(input[i]) – 26 );
//Kalau lebih dari Z maka kurangi 26 huruf
k := k + 1;
//Gunakan huruf sandi berikutnya
if k > j then k := 1;
//Kalau lebih panjang dari sandi itu sendiri, kembalikan ke huruf pertama
end;

writeln(input); //cetak hasilnya

until input = ”;

end.
////////////////////////////////////////////////////////

dan dekrip:
////////////////////////////////////////////////////////
var
input : string; //variabel untuk plain text
sandi : string; //variabel untuk sandi
i,j,k : byte; //variabel untuk (i)iterasi, (j)panjang sandi, dan (k)hurufsandi
himp : Set of char //variabel himpunan karakter yang diizinkan

begin
repeat //untuk perulangan

readln(input); //input plain
if input = ” then exit; //kalau kosong, selesai

readln(sandi); //input sandi

j := length(sandi); //simpan panjang sandi
input := upcase(input); //jadikan input huruf besar
sandi := upcase(sandi); //jadikan sandi huruf besar
himp := ['A'..'Z']; //krakter yang diizinkan dari A sampai Z
k := 1; //simpan huruf ke berapa sandi akan dipakai

for i := 1 to length(input) do
begin
if input[i] = ‘ ‘ then begin k := 1; continue; end;
//kalau huruf spasi, jangan diproses
if not(input[i] in himp) then continue;
//kalau tidak termasuk huruf yang diizinkan, jangan diproses
input[i] := chr( ord(input[i]) – ord(sandi[k]) + 65 );
//huruf input diturunkan sebanyak huruf sandi ditambah 65(ASCII dari ‘A’)
if ord(input[i]) <> j then k := 1;
//Kalau lebih panjang dari sandi itu sendiri, kembalikan ke huruf pertama
end;

writeln(input); //cetak hasilnya

until input = ”;

end.
////////////////////////////////////////////////////////
Sekarang, kita sudah benar-benar selesai dengan Vigenere Chiper.

Yah, pambahasan ini masih banyak kelemahannya. Pertama, mungkin kurang jelas. Kedua, gw terlalu ganteng (gak nyambung, oon!). Gw menerima segala kritik, saran, dan pujian dari siapa saja (siapa yang mau muji?). Terima Kasih atas perhatiannya, semoga anda yang memperhatikan selalu berbahagia dan yang tidak memperhatikan selalu sengsara (??).

Pembahasan tentang IP converting masih di proses.