backsound

Rabu, 12 Oktober 2011

Perbedaan Programmer Otodidak dan Lulusan Informatika




Pernahkah anda punya rekan yang bisa pemrograman komputer tapi tidak berlatar belakang informatika/sejenisnya? Saya punya. Mulai dari programmer yang copy paste source code sampai dengan yang mampu bikin class sendiri juga ada. Disisi lain saya juga memiliki teman dengan latar belakang informatika namun kemampuan codingnya sama seperti rekan saya yang otodidak, bahkan ada yang mengaku lulusan informatika namun tidak mampu melakukan coding program.
Saya punya teman, pintar, logic programmingnya oke, menguasai lebih dari satu bahasa pemrograman selain itu proses codingnya juga cepat. Kalo disuruh misalnya “Gue butuh program bla.. bla.. bla.., elo bisa buat?”dia langsung jawab “Bisa!”. Tapi, giliran disuruh bikin ER Diagram ataupun DFD dia bingung harus mulai darimana.
Lalu timbul pertanyaan saya, kenapa masih ada lulusan informatika bisa dikalahkan oleh orang-orang otodidak dalam pemrograman? sebegitu mudahkah menjadi seorang programmer? apakah hanya dengan mengetahui logika pemrograman dan syntax-nya maka sudah menjadi seorang programmer? Lalu apa yang membedakan programmer lulusan teknik informatika dan yang otodidak?
Berdasarkan pengalaman saya bertemu dengan programmer otodidak, hampir sebagian besar mengerti pemrograman namun tidak diawali dengan belajar teori-teori dasar pemrograman. Biasanya hal itu akan dipelajari sambil berjalan seiring dengan mencoba beberapa baris kode. Sedangkan dalam dunia pendidikan, AFAIK, sebelum coding diharuskan mengerti terlebih dahulu teori-teori dasar seperti misalnya DFDERDiagram, bit, Byte dan lain sebagainya, baru nanti akan melangkah ke pemrogramannya.
Jika anda programmer terlepas apapun latar belakangnya tentu pernah mengalami hal-hal seperti dibawah ini :
  • Penggunaan beberapa fungsi-fungsi sejenis yang terkadang membingungkan dalam penggunaannya. Seperti misalnya kapan harus menggunakan str_replace dan kapan menggunakanereg_replace atau kenapa harus strstr daripada preg_match() dalam PHP?
  • Jika berhubungan dengan field-field database pernahkah penentuan type field berdasarkan alasan yang jelas? Seperti misalnya kenapa harus bigint daripada int atau langsung comot yang paling besar?
  • Kenapa harus ADO daripada DAO untuk melakukan koneksi ke database
Jujur, untuk hal-hal seperti itu kadang saya harus buka buku lagi, ya maklumlah namanya juga programmer pemula dan otodidak pula.
Berkaca dari contoh kasus diatas, lalu apa yang seharusnya membedakan antara programmer otodidak dan programmer berlatar belakang informatika?
Menurut saya yang memiliki latar belakang informatika harus bisa mengungguli yang otodidak dengan menguasai teori-teori dasar ini. Kemampuan seperti menyusun ER Diagram, DFD, bit, Byte, alokasi memori dan hal-hal lainnya harus bisa dikuasai oleh yang berlatar belakang informatika. Bahkan akan lebih bagus jika programmer berlatar belakang informatika mampu menguasai itu semua namun dapat menjelaskannya dengan bahasa yang mudah dimengerti oleh orang lain. Bukan tidak mungkin programmer otodidak akan mempelajari hal seperti itu mengingat resources pemrograman sangat banyak beredar di internet. Ini tantangan yang akan dialami oleh lulusan informatika khususnya para programmer.

5 GADGET TERBAIK DI IFA 2011

Pameran Internationale Funkausstellung (IFA) di Berlin memunculkan berbagai kejutan dalam bidang teknologi informasi. Mulai dari teknologi internet, komputer, TV, hingga ponsel cerdas berbagai ukuran mewarnai arena pameran. Berikut ini 5 gadget terbaik yang dipamerkan di IFA 2011 yang berhasil uniknya.com himpun:





1. Tablet Sony Android
Rumor rivar utama dari Sony untuk Apple iPad 2 akhirnya memulai debutnya pada IFA 2011. Sony akhirnya memamerkan Sony Tablet P seharga 499 poundsterling dan Tablet S seharga 399 Poundsterling. Keduanya menggunakan prosesor mobile Nvidia Tegra 2 dengan Android Honeycomb di dalamnya. Gadget ini juga dilengkapi dengan kamera depan dan belakang, port USB 2.0, dan slot SD Card. Untuk koneksi internet, kedua tablet Sony ini dilengkapi Wi-Fi dan 3G.
Uniknya, Sony Tablet P, memiliki dua layar sentuh dengan ukuran 5,5 inchi. Kedua layar ini bisa saling menutup satu sama lain. Hal ini tentunya membuat Sony Tablet P bisa ditancapkan di dompet dibandingkan dengan tablet lainnya. Selain itu, dengan bentuknya ini, Sony Tablet P juga bisa diaplikasikan untuk berbagai hal, seperti untuk virtual keyboard dan bermain games dengan pengendali Nintendo 3DS di bagian bawahnya.



2. Ponsel Cerdas Samsung Galaxy Note
Apple iPhone 5 mungkin segera hadir. Namun kehadirannya akan mendapatkan kompetitor kuat dari Samsung dengan ponsel cerdas terbarunya, Galaxy Note. Dengan layar sebesar 5,3 inchi dan resolusi 1.200 x 800 pixel, membuat tampilan Galaxy Note terbesar dibandingkan ponsel cerdas manapun. Di Galaxy Note, ditanam prosesor dual-core 1,5GHz dengan sistem operasi Android 2,3 Gingerbread. Di depan dan belakangnya dilengkapi kamera dengan resolusi 8MP dan dapat merekam video definisi tinggi sebesar 1080p. Anehnya, ponsel cerdas ini memiliki S Pen sehingga memiliki akurasi ideal dengan tekanan sensitif tulisan tangan untuk catatan dan sketsa. Sebuah hal yang tidak biasa untuk ponsel cerdas layar sentuh dewasa ini.


3. Tablet Samsung Galaxy Tab 7.7
Di tempat ketiga hadir komputer tablet terbaru Samsung, Galaxy Tab 7.7. Komputer tablet ini memiliki layar 7,7 inchi dengan resolusi 1.280 x 800 WXGA bertampilan AMOLED. Di dalamnya tertanam prosesor dual-core 1,4GHz dengan pilihan penyimpanan 8GB, 16GB, 32GB, dan 64GB. Dengan tambahan slot kartu microSD, jumlah penyimpanan bisa ditingkatkan hingga 96GB, sebuah penyimpanan yang sangat besar untuk ukuran tablet saat ini. Untuk sistem operasinya, Galaxy Tab 7.7 dipersenjatai Android 3.2 yang dilengkapi interface TouchWiz milik Samsung di atasnya.


4. Ponsel Cerdas HTC Titan
Melanjutkan tren ponsel cerdas dengan ukuran super di IFA 2011, hadir HTC Titan dengan versi terakhir Windows Phone 7 ‘Mango’. Ponsel cerdas ini hadir dengan tampilan 4,5 inchi. Meskipun begitu, ponsel ini hanya memiliki resolusi layar sebesar 800 x 480. Hal yang membedakannya, HTC Titan hadir dengan layar lebar dan bentuk yang tipis serta memiliki level warna yang sangat mengagumkan. Untuk prosesornya, HTC Titan menggunakan 1.5GHz single-core. Hal terbaik dari HTC Titan adalah kemampuannya mengimprovisasi kamera sehingga memungkinkan memotret panorama, termasuk mode handy burst.



5. Lenovo IdeaPad U300 / U400 Ultrabooks
Produk kelima terbaik hadir dari notebook yang merupakan kompetitor untuk Apple Macbook Air. Tersedia dalam model U300 dan U400 yang mewah, Lenovo IdeaPad terbentuk dari balok alumunium dengan pilihan tampilan 13,3 inchi dan 14 inchi. Untuk memberikan hasil terbaik, notebook ini dilengkapi prosesor Intel Core i7 ultra-low voltage (ULV) dan grafik AMD Radeon HD5470M. Dari segi penyimpanan, Lenovo IdeaPad U300 memiliki 256GB penyimpanan SSD. Sedangkan model U400 memiliki pilihan drive SSD sebesar 256GB atau hard disk sebesar 1TB.



Sorting dan Searching Dalam Pemograman Java



       Didalam pemograman Java terdapat dua algoritma yang dapat digunakan dua metode yaitu sorting dan searching. Dibawah ini akan membahas dua algoritma tersebut dan beserta contoh listing pemograman dalam java.

1. Sorting
    Sorting adalah proses menyusun elemen - elemen dengan tata urut tertentu dan proses tersebut terimplemantasi dalam bermacam aplikasi.
Macam - macam algoritma sorting :
  •       Insertion Sort
              Salah satu algoritma  sorting  yang paling sederhana adalahinsertion sort. Algoritma Insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian arrayyang belum diurutkan dan kemudian diletakan sesuai dengan posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang terisisa pada bagian array yang belum diurutkan.

  •       Selection Sort
           Selection Sort adalah memilih elemen dengan nilai yang paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke-n, dimana n adalah jumlah total elemen dikurangi 1.
  •     Merge Sort 
             Sebelum pembahasan mengenai algoritma merge sort, akan dijelaskan garis besar dari konsep divide and conquer karena merge sort mengadaptasi pola tersebut.
      • Pola Divide and Conquer
                    Beberapa algoritma mengimplentasikan konsep rekursi untuk menyelesaikan permasalahan.  Permasalahan utama kemudian dipecah menjadi sub-masalah, kemudian solusi dari sub-masalah akan membimbing menuju solusi permasalahan utama.
Pada setiap tingkatan rekursi, pola tersebut terdiri atas 3 langkah:
1. Divide
Memilah masalah menjadi sub masalah.

2. Conquer
Selesaikan sub masalah tersebut secara rekursif. Jika sub-masalah tersebut
cukup ringkas dan sederhana, pendekatan penyelesaian secara langsung akan
lebih efektif.

3. Kombinasi
Mengkombinasikan solusi dari sub-masalah, yang akan membimbing menuju
penyelesaian atas permasalahan utama.
     Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai dengan rangkaiannya.
Studi Kasus dalam pemograman java dengan menggunakan algoritmaSorting : 

Class Bubble :




















Class Insert :





















Class Max :


Class Output :

























2. Searching
      Searching merupakan kegiatan untuk menemukan atau mencari suatu data yang ditentukan disuatu tempat, apakah sudah sesuai atau belum. Algoritma searching mempunyai beberapa metode, salah satunya adalah metode pencarian beruntun atau disebut juga denganSequential SearchSequantial Search adalah metode pencarian yang dimulai dari data elemen pertama.
 Studi Kasus dalam pemograman java dengan menggunakan algoritmaSearching :


Class Searching :




















Hasil Output :

Senin, 10 Oktober 2011

MENGENAL JAUH LEBIH DEKAT DENGAN "VIRUS"




Virus komputer merupakan program komputer yang dapat menggandakan atau menyalin dirinya sendiri  dan menyebar dengan cara menyisipkan salinan dirinya ke dalam program atau dokumen lain. Virus komputer dapat dianalogikan dengan virus biologis yang menyebar dengan cara menyisipkan dirinya sendiri ke sel makhluk hidup. Virus komputer dapat merusak (misalnya dengan merusak data pada dokumen), membuat pengguna komputer merasa terganggu, maupun tidak menimbulkan efek sama sekali.



Cara kerja

Virus komputer umumnya dapat merusak perangkat lunak komputer dan tidak dapat secara langsung merusak perangkat keras komputer tetapi dapat mengakibatkan kerusakan dengan cara memuat program yang memaksa over process ke perangkat tertentu. Efek negatif virus komputer adalah memperbanyak dirinya sendiri, yang membuat sumber daya pada komputer (seperti penggunaan memori) menjadi berkurang secara signifikan. Hampir 95% virus komputer berbasis sistem operasi Windows. Sisanya menyerang Linux/GNU, MacFreeBSD, OS/2 IBM, dan Sun Operating System. Virus yang ganas akan merusak perangkat keras.


Jenis

Virus komputer adalah sebuah istilah umum untuk menggambarkan segala jenis serangan terhadap komputer. Dikategorikan dari cara kerjanya, virus komputer dapat dikelompokkan ke dalam kategori sebagai berikut:
  • Worm - Menduplikatkan dirinya sendiri pada harddisk. Ini membuat sumber daya komputer (Harddisk) menjadi penuh akan worm itu.
  • Trojan - Mengambil data pada komputer yang telah terinfeksi dan mengirimkannya pada pembuat trojan itu sendiri.
  • Backdoor - Hampir sama dengan trojan. Namun, Backdoor bisanya menyerupai file yang baik-baik saja. Misalnya game.
  • Spyware - Virus yang memantau komputer yang terinfeksi.
  • Rogue - merupakan program yang meniru program antivirus dan menampilkan aktivitas layaknya antivirus normal, dan memberikan peringatan-peringatan palsu tentang adanya virus. Tujuannya adalah agar pengguna membeli dan mengaktivasi program antivirus palsu itu dan mendatangkan uang bagi pembuat virus rogue tersebut. Juga rogue dapat membuka celah keamanan dalam komputer guna mendatangkan virus lain.
  • Rootkit - Virus yang bekerja menyerupai kerja sistem komputer yang biasa saja.
  • Polymorphic virus - Virus yang gemar beubah-ubah agar tidak dapat terdeteksi.
  • Metamorphic virus - Virus yang mengubah pengkodeannya sendiri agar lebih sulit dideteksi.
  • Virus ponsel - Virus yang berjalan di telepon seluler, dan dapat menimbulkan berbagai macam efek, mulai dari merusak telepon seluler, mencuri data-data di dalam telepon seluler, sampai membuat panggilan-panggilan diam-diam dan menghabiskan pulsa pengguna telepon seluler.


Cara mengatasi

Serangan virus dapat dicegah atau ditanggulangi dengan menggunakan Perangkat lunak antivirus. Jenis perangkat lunak ini dapat juga mendeteksi dan menghapus virus komputer. Virus komputer ini dapat dihapus dengan basis data (databaseSignature-based detection), heuristik, atau peringkat dari program itu sendiri (Quantum).