Pemrograman Berbasis Object (Object Oriented Programming/OOP) vs Pemrograman Terstruktur Sunday, May 3 2009 

Paradigma pemrograman adalah pandangan mendasar terkait tentang formulasi sebuah solusi dalam bahasa pemrograman. Paradigma pemrograman menjelaskan tentang perspektif/pandangan pemrogram tentang program yang akan dibuatnya. Saat ini terdapat dua jenis paradigm pemrograman yaitu pemrogram berbasis object (OOP) dan pemrograman terstruktur. Dari kedua jenis paradigm ini yang sering digunakan saat ini adalah pemrograman berbasis object. Model data berorientasi objek dapat dikatakan memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Paradigma ini pertama kali diungkapkan oleh Professor Edsger Djikstra dari Universitas Eindhoven sekitar tahun 1965. Prinsip dari pemrograman terstruktur adalah bahwa Apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang. Sedangkan pemrograman berbasis obyek (OOP) mendasarkan pada konsep object dan interaksinya. Pada jenis paradigm ini, program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah. OO sebagai tool untuk memodelkan sistem di dunia nyata (tujuan bahasa Simula-67) setiap sistem selalu dapat digambarkan melalui object-object penyusunnya dan bagaimana object-object tersebut saling berinteraksi.

Tujuan Pemrograman Terstruktur Tujuan dari pemrograman terstruktur dapat diuraikan sebagai berikut :

a. Untuk meningkatkan kualitas dan kehandalan program

b. Untuk memudahkan pemahaman terhadap isi program

c. Untuk menyederhanakan program

d. Untuk maintenance (pemeliharaan) program

e. Untuk meningkatkan produktifitas program Sifat-sifat Pemrograman Terstruktur

Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :

a. Memuat teknik pemecahan masalah yang logis dan sistematis

b. Memuat algoritma yang efisien, efektif dan sederhana

c. Program disusun dengan logika yang mudah dipahami

d. Tidak menggunakan perintah GOTO

e. Biaya pengujian program relatif rendah

f. Memiliki dokumentasi yang baik

g. Biaya perawatan dan dokumentasi yang dbuthkan relatif rendah

Terdapat beberapa langkah pemrograman terstruktur yaitu : identifikasi masalah, analisis kebutuhan pengguna, penyusunan dan disain algoritma, coding, penyusunan program, evaluasi error, dokumentasi, dan pemeliharaan program. Identifikasi masalah dilakukan untuk memperoleh pemahaman mengenai permasalahan yang ada. Melalui pemahaman ini diharapkan dapat ditemukan solusi optimal dalam memecahkan permasalahan tersebut. Analisis kebutuhan dalam hal ini adalah menentukan spesifikasi fungsi dan fasilitas yang akan diimplementasikan pada program. Analisis kebutuhan pengguna sangat penting dilakukan karena program sepenuhnya disusun untuk memberikan solusi permasalahan pengguna. Analisis kebutuhan dilakukan untuk mengetahui siapa yang akan menggunakan program, apa saja yang akan ditampilkan dan lain-lain. Coding adalah penerjemahan algoritma kedalam kode program. Bahasa pemrograman merupakan jembatan yang menghubungkan manusia dengan komputer. Testing merupakan tahap yang paling penting dalam penyusunan program. Pada tahap ini diharapkan tidak terdapat error sehingga program tidak dapat digunakan, dan permasalahan tidak terpecahkan. Dokumentasi merupakan informasi tambahan untuk lenih memahami kode-kode yang disusun.

Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

– Encapsulation (pembungkusan) Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.

– Inheritance (pewarisan) Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.

– Polymorphism (polimorfisme –perbedaan bentuk) Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda

Kelebihan OO Sebagai Model Representasi

•Natural: mengikuti cara berpikir manusia (manusia memandang dunianya sebagai kumpulan object yang berinteraksi)

•Abstraksi: menjelaskan makna sebuah entitas secara cepat dan mudah

•Enkapsulasi: dapat menyembunyikan detil yang tidak perlu

•Modular: object adalah entitas yang independen

Beda nyata antara prosedural dan OOP

• Prosedural Fokus pada bagaimana cara komputer menangani masalah

• OOP Fokus pada masalah yang ditangani dengan menggunakan computer

Tetapi, tidak ada jawaban yang benar-benar tepat jika Anda diberi pertanyaan: apakah sebaiknya menggunakan OOP atau Procedural Programming? Karena jawabannya sangat relatif, terutama tergantung pada aplikasi yang ingin dibuat. Jika mempertimbangkan pemeliharaan dan pengembangan aplikasi yang efisien di masa yang akan datang, mungkin dapat memilih pendekatan OOP. Tetapi, jika aplikasi tersebut merupakan program sederhana yang dapat dibuat dengan mudah dan cepat dengan function/procedure, gunakanlah pendekatan Procedural Programming. Pada pemrograman terstruktur, jika ingin membuat perubahan maka harus diubah dari awal karena ada yang namanya variable global dan variable local. Hal itu juga dapat menimbulkan kesulitan dalam mencari error. Semua itu juga tergantung pada Anda sebagai programer, untuk memilih pendekatan yang cocok dan lebih baik bagi Anda dalam mengerjakan sebuah aplikasi.

Kembali pada perbandingan antara OOP dengan Procedural Programming, keduanya memiliki struktur yang baik untuk membuat sebuah aplikasi, di mana OOP menekankan pada penggunaan object sementara Procedural Programming menekankan pada penggunaan function/procedure. Anda dapat melihat persamaannya, yaitu diperlukan kemampuan untuk menuliskan kode program secara terstruktur dan rapi, yang sangat penting untuk pembuatan aplikasi yang membutuhkan team work yang baik, ataupun untuk pengembangan aplikasi di masa yang akan datang.

Firewall synopsis Sunday, Feb 22 2009 

200px-firewall_22

Adalah sebuah film aksi yang bercerita tentang Jack Stanfield yang bekerja sebagai Computer Security Specialist di Seattle-based Landrock Pacific Bank. Karirnya yang tergolong cemerlang membuatnya menjadi salah satu orang penting di kantornya. Kehidupan keluarga bersama istri dan dua anaknya juga berjalan lancar-lancar saja hingga suatu hari terjadi hal yang tidak diduga.
Suatu ketika Jack dan keluarganya disandra oleh perampok bank yang bernama Bill Cox. Bill dan komplotannya telah mengetahui segala seluk beluk dari Jack dan keluarganya.Dalam misi Bill kali ini dia berniat untuk membobol bank melalui Jack sekaligus menghilangkan jejak perampokan dengan menjadikan Jack sebagai tersangka.
Dalam film ini ditampilkan cara perampokan baru dengan menggunakan teknologi, seperti mengakses server bank dengan akses command prompt. Namun ada sedikit keunikan dalam pembobolan data server yang menyimpan rekning. Bill melalui Jack memindai data 10,000 rekening nasabah yang
memiliki total saldo tertinggi dengan sebuah scaner yang dimodifikasinya dari salah satu bagian alat fax dan menggunakan Ipod sebagai Harddrive. Yang menarik dari film ini, sepertinya sang produser ingin memunculkan sedikit perang ”Merk”, karena tahukah anda, bahwa komputer server yang dijebol menggunakan Operating System Windows, dan seluruh stake holder dalam bank tersebut
menggunakan Windows XP dan perangkat Dell, namun Jack sendiri dalam usahanya membobol data server menggunakan perangkat produksi Apple yang notabanenya merupakan saingan berat Microsoft.
Teknologi lainnya yang menarik untuk disimak adalah penggunaan perangkat nirkabel yang canggih untuk mengakses internet. Jadi dimanapun Jack berada dia dapat mengakses internet bahkan melacak GPS yang ada di ban leher anjingnya yang diculik bersama istri dan 2 anaknya oleh komplotan Bill.
Perangkat teknologi canggih lainnya yang digunakan dalam film ini seperti, penyadap suara yang diselipkan di dasi, kamera yang diintegrasikan dalam sebuah pena, dan simcard yang dimodifikasi untuk menyadap semua percakapan melalui telepon genggam.
Donny’s Theater

COMPUTER CRIME DALAM SOSIAL Sunday, Feb 22 2009 

Teknologi yang semakin maju memang banyak memberikan manfaat pada kehidupan manusia. Tetapi seiring dengan besar manfaatnya maka besar pula resikonya. Resiko-resiko yang banyak muncul adalah yang berkaitan dengan computer crime.

Mengapa hal itu bisa terjadi?

Sesuai yang telah kita ketahui sebelumnya segala macam teknologi terbaru saat ini hampir seluruhnya pengerjaannya dilakukan oleh computer. Dengan demikian, banyak kemungkinan pihak yang tidak bertanggungjawab akan menggunakan hal tersebut untuk berbagai hal. Contohnya : dalam sebuah film yang berjudul TakeDown, seorang hacker dapat menjadi cracker jika perbuatannya dalam menggunakan computer atau system jaringan computer dapat merugikan. Perbuatan yang merugikan tersebut diantaranya pembobolan bank sehingga dapat memindahkan sejumlah uang dari bank ke rekening yang dikehendaki, pemegangan kendali atas jaringan listrik, air gas, serta komunikasi. Selain itu para cracker juga dapat menerobos serta mengambil dan mengacaukan data-data pada sebuah badan usaha yang vital.

Dari hal-hal yang mungkin dapat dilakukan oleh seorang craker, akan mengakibatkan dampak yang buruk terhadap masyarakat. Misalnya dengan pembobolan bank tidak hanya Negara yang dirugikan tetapi juga masyarakat. Apabila seorang craker memegang kendali atas jaringan listrik, air, gas, komunikasi pasti akan terjadi banyak sekali keresahan. Mungkin alan terjadi kecelakaan beruntun ketika lampu merah tidak menyala, Pesawat penumpang akan terjatuh karena putusnya komunikasi dan masih banyak kejadian kacau lainnya yang akan terjadi memandang semua jenis peralatan pada zaman ini kebanyakan dikendalikan oleh computer.

Hacker sebenarnya memiliki kode etik yang pada mulanya diformulasikan dalam buku karya Steven Levy berjudul Hackers: Heroes of The Computer Revolution, pada tahun 1984. Kode etik hacker tersebut, yang kerap dianut pula oleh para cracker, adalah :

1. Akses ke sebuah sistem komputer, dan apapun saja dapat mengajarkan mengenai bagaimana dunia bekerja, haruslah tidak terbatas sama sekali

2. Segala informasi haruslah free (bebas diakses/dimanfaatkan oleh siapapun).

3. Jangan percaya pada otoritas, promosikanlah desentralisasi.

4. Hacker haruslah dinilai dari sudut pandang aktifitas hackingnya, bukan berdasarkan standar organisasi formal atau kriteria yang tidak relevan seperti derajat, usia, suku maupun posisi.

5. Seseorang dapat menciptakan karya seni dan keindahan di komputer.

6. Komputer dapat mengubah kehidupan seseorang menjadi lebih baik.

Algoritma Floyd-Warshall Sunday, Mar 29 2009 

Dari Wikipedia bahasa Indonesia

Algoritma Floyd-Warshall menghitung jarak terpendek untuk semua pasangan titik pada sebuah graf, dan melakukannya dalam waktu berorde kubik. Algoritma Floyd-Warshall memiliki input graf berarah dan berbobot (V,E), yang berupa daftar titik (node/vertex V) dan daftar sisi (edge E). Jumlah bobot sisi-sisi pada sebuah jalur adalah bobot jalur tersebut. Sisi pada E diperbolehkan memiliki bobot negatif, akan tetapi tidak diperbolehkan bagi graf ini untuk memiliki siklus dengan bobot negatif. Algoritma ini menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan melakukannya sekaligus untuk semua pasangan titik. Algoritma ini berjalan dengan waktu Θ(|V|3). Implementasi algoritma ini dalam pseudocode: (Graf direpresentasikan sebagai matrix keterhubungan, yang isinya ialah bobot/jarak sisi yang menghubungkan tiap pasangan titik, dilambangkan dengan indeks baris dan kolom) (Ketiadaan sisi yang menghubungkan sebuah pasangan dilambangkan dengan Tak-hingga)

function fw(int[1..n,1..n] graph) {

// Inisialisasi

var int[1..n,1..n] jarak := graph

var int[1..n,1..n] sebelum

for i from 1 to n

for j from 1 to n

if jarak[i,j] < Tak-hingga

sebelum[i,j] := i

// Perulangan utama pada algoritma

for k from 1 to n

for i from 1 to n

for j from 1 to n

if jarak[i,j] > jarak[i,k] + jarak[k,j]

jarak[i,j] = jarak[i,k] + jarak[k,j]

sebelum[i,j] = sebelum[k,j]

return jarak

Algoritma bellman_ford Sunday, Mar 29 2009 

Algoritma Bellman-Ford menyelesaikan masalah garis terpendek single-source untuk grafik dengan dua simpul(node) positive and negative. Jika kamu hanya membutuhkan untuk menyelesaikan masalah jalur terpendek untuk node positive, Algoritma Dijkstra memberikN lternatif yg lebih efisien. Jika semua node sama BFS adalah alternative yang lebih efisien.

Sebelum memanggil fungsi bellman_ford_shortest_paths(),user harus menentukan puncak/root-nya dengan nilai 0 atau ∞ tergantung user ingin memulai dengan node pertama yang mana. Algoritma Bellman-Ford memproses dengan looping semua node di grafik, menggunakan operasi relaksasi untuk setiap node. Pada pseucode di bawah ini, v adalah puncak/root untuk u, w peta node, dan d adalah panjang peta yang merekam panjang dari jalur terpendek untuk setiap node. Jika p adalah prosesor yang telah direkam untuk parent dari setiap node, maka akan menjadi parent dari pohon tersebut.

RELAX(u, v, w, d, p)

if (w(u,v) + d[u] < d[v])

d[v] := w(u,v) + d[u]

p[v] := u

else

relax edge (u,v)

edge (u,v) is not relaxed

Algoritma akan mengulang loop |V| kali setelah dijamin bahwa panjang dari setiap node telah ditentukan kemungkinan minimum kalau grafik adalah rute negative. Jika grafik adalah route negative, maka node di grafik tidak dapat di minimaliskan. Dalam grafik aka nada node (u,v) seperti w(u,v) + d[u] < d[v]. Algoritma selesai looping, langkah terakhir mengecek semua node apakah telah diminimaliskan, diberikan nilai true jika benar dan false jika tidak.

BELLMAN-FORD(G)

// Optional initialization

for setiap root u di V

d[u] := infinity

p[u] := u

end for

for i := 1 to |V|-1

for setiap node (u,v) di E

RELAX(u, v, w, d, p)

end for

end for

for setiap node (u,v) di E

if (w(u,v) + d[u] < d[v])

return (false, , )

else

end for

return (true, p, d)

Node uji (u,v)

node (u,v) tidak diminimalis

node (u,v) diminimalis

Ada dua pilihan utama untuk memperoleh output dari fungsi Bellman. Jika user memberikan jarak peta melalui parameter distance_map() kemudian jarak yang paling pendek dari node utama untuk setiap root di grafik akan direkam dip peta jarak (diberikan jika fungsi bernilai true). Pilihan kedua adalah merekam jalur pohon terpendek di predecessor_map(). Untuk setiap root u di V, p[u] akan menjadi predesesor dari u di jarak terpendek pohon (kalau tidak p[u] = u, pada kasus u adalah root utama).Pada dua pilihan tersebut, user dapat memberikan pengunjung buatan sendiri yang dapat mengambil aksi pada setiap poin dari kebanyakan algoritma.

Algoritma DFS & BFS Sunday, Mar 29 2009 

Algoritma yang biasa digunakan untuk mencari spanning tree pada sebuah graf G antara lain

} Deft-First Search (DFS)

} Breadth-First Search (BFS)

Deft-First Search (DFS)

Depth-first search (DFS) melakukan pencarian secara preorder. Mengunjungi anak suatu simpul sebelum simpul tetangganya.(

Mengubah graph awal menjadi suatu pohon:

1. Pilih induk dari pohon (misal f) pilih yang terhubung dengan sirkuit

2. Pilih titik-titik yang mnghasilkan jalur terpanjang dengan mengabaikan adanya sirkuit

(setelah mengambil f kita bisa beralih ke titik yang berada di kanannya dahulu atau di kirinya, missal hubungkan titik f-g-h-k-j)

3. Setelah mencapai ujung jalur, lakukan pengecekan dengan kembali ke titik sebelumnya. Mengecek apakah pada titik tersebut masih mempunyai cabang atau tidak, Jika ada cabang tuliskan titik tersebut sebagai cabang. Kemudian cek lagi cabang tersebut apakah bercabang lagi atau tidak.

(setelah mencapai ujung j, kembali lagi ke titik sebelumnya k, lakukan pengecekan, lakukan langkah ini hingga semua titik terdapat dalam satu pohon)

Algoritma

Step 1: letakkan root parent di tempat yang paling atas

Step 2: Lakukan looping hingga titik terakhir

Step 3: letakkan titik yang terhubung dengan root parent pada satu garis lurus

Step 4: lakukan pengecekan, jika titik tidak memiliki child letakkan pada garis, pindah ke titik selanjutnya

Step 5: jika titik yang ditemui memiliki child hubungkan dengan titik sebelumnya

//

public void dfs()

{

//DFS menggunakan struktur data yang teratur

Stack s=new Stack();

s.push(this.rootNode);

rootNode.visited=true;

printNode(rootNode);

while(!s.isEmpty())

{

Node n=(Node)s.peek();

Node child=getUnvisitedChildNode(n);

if(child!=null)

{

child.visited=true;

printNode(child);

s.push(child);

}

else

{

s.pop();

}

}

//titik yang dikunjungi telah kosong

clearNodes();

}

//

· Dengan memakai stack yang direpresentasikan dengan array.

Procedure DFS_NonRekursif (input V : char)

{ I.S. terdefinisi A yaitu matriks ketetanggan dari sebuah graf V adalah simpul yang akan diproses

F.S. Simpul V telah di proses

}

Kamus

W : char

S : stack

Procedure CreateStack (output S : Stack)

{I.S : sembarang

F.S : sebuah stack S kosong siap dipakai terdefenisi }

Function IsEmptyStack (S : Stack ) <- boolean

{Test stack kosong: False jika tumpukan tidak kosong dan mengirim true jika tumpukan kosong

}

Procedure PushStack (input/output S : Stack; Input P : address)

{menambahkan elemen baru pada TOP, dengan Elemen yang sudah diketahui alamatnya

}

Procedure PopStack (input/output S : Stack; Output P : address)

{I.S : stack tidak kosong

F.S: alamat elemen TOP disimpan pada P, shg Informasi dapat diakses melalui P }

{Menghapus elemen stack, stack tidak boleh Kosong dan mungkin setelah penghapusan Stack menjadi kosong }

Procedure proses (input V : char)

{I.S: V adalah simpul yang akan Diproses

F.S: simpul V telah diproses

}

Algoritma

Proses (V)

Visited[ V] <- true

While not IsEmptyStack (S) do

PopStack (S,V)

While (V<>Nil) do

If (A[V,W] =1) and (not visited [W] ) then

Proses(W)

PushStack (S,W)

Visited[W] 􀃅 true

Endif

Endwhile

Endwhile

{IsEmptyStack (S)}

Breadth-First Search (BFS)

Pencarian dilakukan pada semua node dalam setiap level secara berurutan dari kiri ke kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikia n seterusnya sampai ditemukan solusi.

Susunan breadth-first tree:

  1. Dimulai dengan s (the root)
  2. Scan semua titik yang ada pada tree yg mau diubah. Jika u adalah titik yang akan diperiksa dan ditemukan anak u pada titik(v) maka masukkan titik itu(v). u adalah predecessor/parent dari v di breadth-first tree.

Pseucode BFS

Inisialisasi : 0 = {S}

While 0 ? empty

Tarik 1, elemen pertama di 0

If 1 = Goal

Sukses dan keluar

Else

Node_anak = ekspansi (1)

Eliminasi node anak yang loop

Anak yang tersisa dibelakang 0

End

Continue

The Most Promising Career in Future Sunday, Mar 1 2009 

PAda saat ini, pekerjaan yang paling diminati di Indonesia adalah di bidang kesehatan yaitu kedokteran. Sebagian besar masyarakat Indonesia beranggapan dengan menjadi dokter akan menjamin kehidupan mereka di masa mendatang. Tetapi dengan semakin berkembangnya teknologi, tenaga manusia mulai digantikan dengan mesin-mesin. Untuk menjadi seorang dokter pun biaya yang dibutuhkan tidak murah dan proses pembelajarannya pun lebih lama dibandingkan bidang lainnya. Selain itu, menurut pengamatan saya, kebanyakan masyarakat lebih mengarahkan anak-anak mereka untuk bekerja sebagai pegawai negeri. Menurut pendapat mereka, menjadi pegawai negeri akan menghindarkan mereka dari pengangguran dan PHK serta akan memperoleh gaji yang yang tetap.

Bertentangan dengan berbagai pendapat tersebut, menurut saya sebagai mahasiswa tingkat pertama, untuk masa yang akan datang sekitar 4-5 tahun mendatang pekerjaan yang paling menjanjikan dan paling luas persebarannya adalah di bidang teknologi. Bidang teknologi dapat tersebar di seluruh bidang mulai dari kesehatan hingga pendidikan. Bahkan untuk bidang pertanian, perbankan pun mulai memakai teknologi untuk pengerjaannya. Tetapi untuk bidang teknologi tidak diragukan lagi akan terus berkembang. Teknologi yang akan terus berkembang khususnya di bidang teknologi Informasi dan komunikasi. Mengapa demikian? Sebegai manusia yang merupakan makhluk sosial, kita pasti sangat memerlukan komunikasi dengan sesame manusia. Dan komunikasi tersebut akan terus diperlukan hingga akhir hayat seorang manusia. Bahkan di seluruh bidang memerlukan komunikasi agar bisa berjalan.

Melihat kemungkinan-kemungkinan yang akan terjadi di masa mengdatang itulah yang membuat saya memilih mempelajari bidang teknologi informasi sebagai penunjang career saya di masa yang akan datang. Disamping itu, teknologi informasi memiliki penyebaran yang luas. Kita bisa memilih ingin menjadi system analis,software engineering, telecom industry, hingga entrepreneur. Untuk masalah gaji, bekerja di industry telekomunikasi lebih menguntungkan daripada menjadi pegawai negeri. Tetapi, disamping keuntungan pasti ada tantangannya. Tantangan bekerja di bidang teknologi informasi harus mempunyai soft skill yang bagus selain itu juga harus bisa membuat inovasi-inovasi yang baru. Juga harus selalu up to date terhadap teknologi yang terbaru.

Dari sekian pilihan pekerjaan yang ditawarkan, saya sebagai mahasiswa harus mempunyai arah yang jelas yang mana yang memang cocok dengan diri saya dan menjadi minat saya. Saya adalah orang yang plin-plan, lebih condong kepada tugas dan orang. Dari kekurangan itu menurut diri saya sendiri saya kurang cocok jika menjadi seorang entrepreneur. Saya lebih suka menjadi seorang perencana dari dalam tetapi kurang suka untuk menjadi orang yang melakukan tugas pada bagian hubungan masyarakatnya. Dalam hal ini, mungkin saya harus berlatih lagi. Di samping itu saya adalah orang yang suka mengerjakan sesuatu dengan cepat dan tepat waktu tetapi juga mengerjakannya dengan semaksimal mungkin. Dengan kelebihan tersebut mungkin saya masih ada ksempatan untuk menjadi seorang programmer pada suatu software house atau suatu perusahaan tetapi kembali lagi pada kelemahan saya mungkin saya pada saat ini belum berani untuk menjadi seorang entrepreneur yang membangun perusahaan sendiri. Tetapi saya masih bisa untuk mengatasi kelemahan saya dengan berlatih berorganisasi yang dimulai dengan berpendapat.

Untuk menutupi kelemahan itu, saya akan terus mengasah kemampuan saya dalam hal coding dan pengetahuan dalam hal teknologi informatika terbaru. Saya akan memusatkan pemahaman saya pada hal yang benar-benar saya minati, sehingga saya akan benar-benar menguasai suatu hal secara keseluruhan. Hal itu bisa dilakukan dengan membaca dan mempelajari dari pengalaman orang lain dan dengn bertanya kepada orang yang lebih mengerti. Dengan begitu saya berharap bisa lebih unggul daripada yang lainnya.

TAKEDOWN Sunday, Feb 22 2009 

The Pursuit and Capture of Kevin Mitnick, America’s Most Wanted Computer Outlaw

hacker-takedown

Film yang berceritakan tentang dunia hacker ini diangkat dari kisah nyata seorang hacker paling dicari karena tindak kriminalnya yang bernama Kevin Mitnick.

Di suatu bar, Kevin Mitnick bersama temannya yang bernama Alex Lowe bertemu dengan seseorang yang bernama Lance. Dari sini lah permasalahan dalam film ini dimulai. Lance memancing Mitnick untuk melakukan tindakan criminal ceroboh sehingga mendapatkan alasan untuk menangkapnya. Lance ingin mendapatkan informasi dari Mitnick sehingga Ia memberi informasi supaya ia dipercaya. Informasi tersebut tentang Icebraker, akses DMV, SAS(suatu sistem untuk menyadap telepon yang ditawarkan ke FBI).

Setelah mendengar informasi itulah kemudian Mitnick penasaran dengan SAS. Ia mencari informasi tentang SAS dengan menyamar menjadi Joe Fredy, karyawan di Perusahaan telepon California Selatan. Dari penyamarannya ia mendapatkan semua desain dan aplikasi SAS. Kemudian ia mencari tahu kode SAS dari FBI. Setelah mencari tahu semua yang dia perlukan untuk menjalankan system SAS itu, ia menunjukkannya kepada Lance. Dengan begitu, Lance tahu bahwa usahanya untuk membawa Mitnick telah gagal. Dan dengan menyadap telepon Lance, ia tahu bahwa dirinya yang masih dalam masa percobaan akan ditangkap lagi. Dia bersembunyi dari pengejaran itu.

Setelah 2 tahun berlalu, seorang hacker yang juga diakui kepiawaiannya, seorang keturunan Jepang, Tsutomu Shimomura mengunjungi Washington DC untuk mendemontrasikan sebuah ponsel Nokitel yang dapat menyadap. Mitnick menonton demonstrasi tersebut dan dia menginginkan kode Nokitel tersebut agar ia dapat menghindar dari pengejaran FBI. Tapi ia gagal menyamar untuk mengetahui kode tersebut, Shimomura ternyata tidak mudah untuk dikelabuhi. Tetapi, Mitnick berhasil membobol computer Shimomura dan mengambil semua data dari sana. Dari situlah ia mendapatkan kode Nikotel.

Mitnick mendapati sebuah program aneh dari data Shimomura. Ia tertantang untuk mengetahui program apakah itu sebenarnya. Sebenarnya program itu adalah pogram untuk membuka system pertahanan yang dikenal, dinamakan Contempt. Shimomura membuat program tersebut untuk mengetahui bagaimana membuat penangkal dari semua hal yang dapat menembus sebuah system pertahan. Jadi dengan membuat penangkal yang bisa membobol system pertahanan ia dapat mencegah perbuatan yang dapat mengakibatkan kerugian. Akhirnya Mitnick mengetahui program apa itu sebenarnya, tetapi ia tidak melakukan apa yang dikhawatirkan oleh Simomura.

Di sisi lain FBI menerbitkan surat perintah untuk penggeledahan rumah Alex Lowe. Tapi tentu saja Mitnick telah mengetahui itu sebelumnya dan ia kabur sebelum FBI datang. Dengan adanya hal itu Mtnick marah dan mengerjai salah satu FBI.

Di sisi lain, Shimomura yang telah mengetahui apa yang akan dilakukan oleh Mitnick jika ia berhasil mendapatkan program Contempt itu, Shimomura mulai menyusun strategi untuk menangkap Mitnick sekaligus mencegah penyebaran program contempt itu.

Suatu ketika, Mitnick berada di Brooklyn Avenue, seorang karyawan telepon mengetahui adanya suatu hal yang aneh pada modem sebuah rumah sehingga ia memeriksanya dan ia mengetahui yang menyababkannya adalah Mitnick. Sehingga ia melaporkan hal tersebut kepada Shimomura. Shimomura dan FBI segera mendatangi tempat tersebut untuk menangkap Mitnick. Dan tentu saja Mitnick telah mengantisipasi hal tersebut.

Mitnick tetap penasaran deangan program Contempt itu dan ia tetus mencari kode yang bisa memecahkan program itu. Mitnick mencoba memecahkan kode tersebut dengan menggunakan computer universitas negeri. Tetapi dengan melacak di jaringan telepon, Shimomura akhirnya mengetahui di mana lokasi Mitnick. Di sisi lain Mitnik yang telah mendapatkan akses ke 10 ribu computer akan dapat memecahkan kode contempt dalam 24jam. Dengan Ketukan pintu oleh FBI ia akan membiarkan dirinya ditangkap tetapi ia akan mengirim program contempt itu. Mitnick tidak menyadari bahwa Shimomura telah mengelabuhinya, Shimomura tahu Mitnick akan mengitim arsip contempt ke netkom sehingga ia menyadap nya dan mengambil arsip tersebut. Akhirnya, Kevin Mitnick dapat ditangkap.