Sabtu, 21 Mei 2011

TCP DAN UDP

Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP) adalah salah satu jenis protokol yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu network (jaringan). TCP merupakan suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable).
KARAKTERISTIK TCP:
• Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
• Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
• Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk
• Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat “macet” jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
• Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
• Mengirimkan paket secara “one-to-one“: hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
KEGUNAAN TCP :
• Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
• protokol transport berjalan pada end systems
• Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan data, maka FTP seringkali memerlukan nama pengguna (username) dan password, meskipun banyak juga FTP yg dapat diakses melalui anonymous, lias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP)
• Remote login. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
• Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
• Network File System (NFS). Pelayanan akses file-file jarak jauh yg memungkinkan klien-klien untuk mengakses file-file pada komputer jaringan jarak jauh walaupun file tersebut disimpan secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut)
• remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program didalam komputer yg berbeda. Biasanya berguna jika pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu system komputer. Ada beberapa jenis remote execution, ada yg berupa perintah-perintah dasar saja, yaitu yg dapat dijalankan dalam system komputer yg sama dan ada pula yg menggunakan “prosedure remote call system”, yg memungkinkan program untuk memanggil subroutine yg akan dijalankan di system komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah “rsh” dan “rexec”)
• name servers. Nama database alamat yg digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name server yg bertujuan untuk menentukan nama host di internet.)

UDP
UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.
KARAKTERISTIK UDP:
• Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
• Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
• UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification.
• UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
KEGUNAAN UDP:
UDP sering digunakan dalam beberapa tugas berikut:
• Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
• Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
• Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
• Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

PERBEDAAN TCP DAN UDP:

• Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.
• UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
• UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.

Pengertian Chipset


Secara fisik, chipset berupa sekumpulan IC kecil atau chips yang dirancang untuk bekerjasama dan memiliki fungsi-fungsi tertentu. Pada sistem hardware komputer, chipset ini bisa terdapat pada motherboard, card-card (kartu-kartu) ekspansi, misalnya pada kartu grafis (video card), atau pada peralatan komputer lainnya. Fungsi chipset pada motherboard tidak sama dengan chipset pada kartu-kartu ekspansi. Begitu pula fungsi chipset pada peralatan komputer lainnya. Masing-masing memiliki fungsi sendiri yang bersifat spesifik. Chipset sebenarnya tidak selalu terdiri dari sekumpulan IC atau sekumpulan chip, kadang-kadang dijumpai hanya terdiri dari sebuah chip saja. Chipset pada video card berfungsi untuk mengontrol rendering grafik 3 dimensi dan output berupa gambar pada monitor. Sedangkan chipset pada motherboard berfungsi untuk mengontrol input dan output (masukan dan keluaran) yang mendasar pada komputer. Perlu diketahui, bahwa yang dibahas pada bab ini difokuskan pada chipset yang ada pada motherboard, bukan chipset yang ada pada komponen atau perangkat komputer lainnya. Lebih jelasnya, dapat dikatakan bahwa chipset yang biasa terdapat pada motherboard berfungsi untuk mengatur aliran data dari satu komponen ke komponen lainnya. Misalnya mengarahkan data dari CPU (prosesor) menuju kartu grafis (video card) atau ke sistem memori (RAM), serta mengarahkan aliran data melalui bus PCI, drive IDE dan port I/O. Pada kasus ini, dapat diibaratkan bahwa chipset seakan-akan berfungsi sebagai ‘polisi lalu lintas’ pengatur aliran data pada motherboard di sebuah PC (Personal Computer). Selain mengatur aliran data, chipset juga ikut menentukan piranti apa saja yang dapat didukung oleh PC tersebut, serta turut menentukan kecepatan FSB (Front Side Bus), bus memori, bus grafis, kapasitas serta tipe memori yang dapat didukung oleh motherboard yang bersangkutan, dan menentukan standart IDE, juga tipe port yang didukung oleh sistem. Sebenarnya, lebih detail lagi dapat dijelaskan bahwa chipset tradisional pada motherboard terdiri dari dua bagian, yaitu northbridge dan southbridge. Tugas-tugas umum chipset seperti yang telah dijelaskan tadi, dibagi kepada kedua bagian chipset tersebut. Masing-masing bagian chipset (northbridge atau southbridge) mempunyai tugas sendiri-sendiri yang bersifat spesifik dan bekerja sesuai fungsinya. Asal mula istilah northbridge dan southbridge Pemunculan istilah northbridge dan southbridge berawal dari kebiasaan dalam menggambar suatu bagan atau peta tentang arsitektur suatu komponen. CPU biasanya diletakkan pada bagian atas (puncak) bagan. Pada suatu peta, bagian atas selalu identik dengan arah utara. CPU kemudian dihubungkan dengan chipset melalui fast bridge atau jalur penghubung cepat yang menyambung langsung di bagian atas unit chipset. Itulah sebabnya bagian yang langsung berhubungan dengan CPU tersebut disebut northbridge. Northbridge ini kemudian dihubungkan dengan bagian bawah unit chipset melalui slow bridge atau jalur penghubung yang lebih lambat. Unit chipset bagian bawah ini kemudian disebut southbridge. Jika bagian atas menyimbolkan arah utara, dengan sendirinya bagian bawah menyimbolkan arah selatan. Itulah sebabnya disebut dengan istilah southbridge. 

1.Northbridge
Northbridge disebut juga dengan nama memory controller hub (MCH). Perusahaan pembuat chipset yang menggunakan nama sebutan MCH ini adalah Intel. Sedangkan AMD, VIA dan perusahaan lainnya lebih banyak menggunakan nama sebutan northbridge. Northbridge memiliki peran khusus yang sangat penting dalam suatu sistem motherboard. Northbridge adalah bagian yang menghubungkan prosesor (CPU) ke sistem memori dan graphics controller (AGP dan PCI Express) melalui bus berkecepatan tinggi, dan ke southbridge. Dengan demikian, Northbridge bertugas mengendalikan/ menangani komunikasi antara CPU, RAM, AGP atau PCI Express, dan southbridge. Bahkan pada sebagian chipset, di dalam northbridge juga berisi integrated video controller (pengendali video terintegrasi). Pada sistem Intel istilah integrated video controller ini disebut dengan nama Graphics and Memory Controller Hub (GMCH). Northbridge juga berperan menentukan jumlah, type dan kecepatan CPU yang dapat dipasangkan pada motherboard, termasuk menentukan jumlah, kecepatan dan type RAM yang dapat digunakan. Setiap jenis chipset, kebanyakan dirancang hanya untuk mendukung seri prosesor tertentu saja, dengan jumlah RAM yang dapat dipasangkan bervariasi bergantung type prosesor dan desain motherboardnya sendiri. Pada motherboard untuk prosesor Pentium (sebelum Pentium II), kapasitas RAM yang dapat dipasangkan seringkali dibatasi sampai 128 MB saja. Sedangkan motherboard untuk Pentium 4, kapasitas RAM yang dapat dipasangkan dibatasi 4 GB. Perlu diketahui bahwa sejak era Pentium Pro muncul, arsitektur Intel yang diterapkan prosesor tersebut dapat mengakomodasi address fisik lebih besar dari 32 bit, biasanya 36 bit, sehingga mampu mendukung RAM hingga 64 GB. Namun, jarang ada motherboard yang didesain mampu mendukung RAM hingga 64 GB, lagi pula banyak faktor pembatas lain yang tidak memungkinkan diterapkannya fitur RAM tersebut, misalnya keterbatasan dukungan dari OS dan mahalnya harga RAM). Sampai saat ini, tidak begitu banyak chipset yang mampu mendukung dua tipe RAM sekaligus. Biasanya chipset semacam ini baru diproduksi bila muncul standart baru yang ditetapkan oleh pabrik karena munculnya perkembangan teknologi baru. Contoh northbridge yang hanya mendukung satu type RAM adalah northbridge dari chipset NVIDIA nForce. Chipset ini hanya dapat dipasangkan dengan prosesor AMD yang didesain menggunakan soket A yang dikombinasi dengan pemakaian DDR SDRAM. Contoh lainnya adalah chipset Intel i875. Chipset ini hanya dapat bekerja dengan prosesor Pentium 4 atau Celeron yang memiliki clock speed lebih tinggi dari 1,3 GHz yang dikombinasi dengan pemakaian DDR SDRAM. Sedangkan contoh chipset yang dapat mendukung dua tipe RAM adalah chipset Intel i915. Chipset tersebut dapat bekerja dengan prosesor Intel Pentium 4 dan Celeron yang menggunakan menggunakan DDR maupun DDR2. Pada perkembangan selanjutnya, memory controller yang menangani komunikasi antara CPU dan RAM tidak lagi berada pada chipset, memory controller tersebut dipindahkan ke prosesor, terintegrasi dengan die prosesor. Contoh prosesor yang telah dilengkapi dengan memory controller ini adalah prosesor AMD64. Akibatnya, chipset untuk prosesor AMD64 (misalnya chipset NVIDIA nForce3) menjadi single chip (chip tunggal) yang merupakan gabungan dari semua fitur southbridge dengan port AGP. Chipset ini dihubungkan langsung ke CPU (prosesor). Sedangkan Intel juga akan melakukan hal yang sama, yaitu mengintegrasikan memory controller tersebut ke dalam prosesor produksinya. Rencananya kelak akan diterapkan pada prosesor yang berbasis mikroarsitektur Nehalem.

2.Southbridge
Southbridge adalah bagian dari chipset yang mengontrol bus IDE, USB, dukungan Plug and Play, menjembatani PCI dan Isa, mengontrol keyboard dan mouse, fitur power management dan sejumlah perangkat lainnya. Southbridge berhubungan dengan pheriperal, memalui jalur penghubung yang kecepatannya (kecepatan bus) lebih lambat (misalnya bus PCI dan bus ISA) dibandingkan jalur penghubung yang digunakan oleh northbridge. Pada beberapa chipset modern, southbridge sebenarnya mengandung (memuat) pheripheral yang terintegrasi pada chip, seperti ethernet, USB, dan audio.

Sabtu, 05 Maret 2011

Cara Membuat Tampilan Desktop Menjadi Video

Jika Anda tertarik sama IT pasti anda ingin membuat tampilan PC atau Laptop anda menjadi lebih menarik atau dengan tema yang bagus…..jadi saya ingin berbagi ilmu sedikit untuk membantu mengubah tampilan desktop menjadi video yang anda inginkan.
Caranya Sangat Mudah :
  • Tulis sintak di bawah ini ke notepad dan save as menjadi html.
<html>
<body bgcolor=”#000000″
topmargin=”0″ leftmargin=”1″>
<p><img dynsrc=”(diisi nama video)”  // contoh = “freestyle.avi”//
width=”1024″ height=”768″
start=”fileopen”
loop=”infinite”></p>
</body>
</html>
  • buat folder baru taruh sintak html dan video menjadi satu folder yang sama
  • Klik kanan pada desktop kemudian properties pilih desktop dan browse cari html yang dibuat tadi (bukan video)
kemudian langsung saja dilihat apa yang akan terjadi pada desktop anda….. saran saya videonya jangan video yang besar nanti bisa lambat komputernya video yang ringan2 saja.

Mengenali Virus melalui File Extension (Windows)

Mungkin ada diantara pembaca blog ini terutama pengguna komputer pemula yang belum memahami betul tentang file extension . Atau barang kali anda paham tapi tidak mempedulikannya. Sebaiknya mulai sekarang anda harus memahami setidaknya beberapa jenis Extension yang biasa digunakan oleh beberapa varian virus untuk menyebarkan diri. Karena mungkin sekali lagi kita bisa sedikit mengenali virus melalui file extension.
File Extension adalah nama tambahan dibelakang nama file yang dipisahkan dengan tanda titik ( . ) dan biasanya terdiri dari tiga huruf contoh “.exe”. File extension ini berfungsi untuk membedakan jenis dan tipe file. Dan berdasarkan tipe file file Extension dibedakan menjadi beberapa kelompok :
File Document
  • File jenis ini adalah file yang merupakan produk dari beberapa software aplikasi, Contoh DOC yang merupakan document dari Microsoft Word, XLS (Excel ). Beberapa varian Virus menyamar dengan menampilkan icon yang sama dengan file tipe ini. Namun jika kita lihat ” Details ” maka akan terlihat kejanggalan karena tipe filenya “application”  Ada juga tipe virus yang menginfeksi template dari document yang kita buka sehingga document yang akan kita buat selanjutnya juga akan terkena virus.
Binary Executable Files ( Portable Executable / PE)
  • EXE ( Executable / Aplication) Tipe file jenis ini adalah tipe file yang bisa dijalankan tanpa software pendukung. Bangyak virus yang menggunakan Extensi EXE atau menginfeksi file yang berextensi EXE, contohnya Sallity, Troxa dan lain lain. SCR (Sreensaver) file ini khusus untuk screen saver. Terkadang virus menyamarkan diri melalui file ini, sehingga ketika file SCR yangterinfeksi virus di jalankan dan muncul screen saver maka sesungguhnya virus sedang aktif di belakang screen saver.
  • COM (Command file) file jenis ini dijalankan under DOS / MSDOS.
  • DLL (Dynamic Link Library) File ini biasanya berisi script dan biasanya merupakan file pendukung bagi beberapa software atau file lain yang berextensi EXE. Karena terkadang berhubungan langsung dengan file yang berextensi EXE maka file jenis ini juga sering kali terinfeksi oleh virus.
File Script
  • File script adalah file yang berisi kode kode ( script ) yang bisa di jalankan oleh komputer baik secara langsung ataupun menggunakan software tambahan yang bisa menjalankan script tersebut.( Pada dasarnya hampir semua aplikasi tersusun daru sekumpulan script )
  • BAT (Batch File) adalah file yang biasanya dibuat under DOS dan menggunakan kode kode DOS Command.
  • VBS (Visual Basic Script) adalah file yang berisi kumpulan bahas pemrograman Visual Basic. File jenis ini adalah yang paling banyak digunakan untuk membuat software aplikasi sebelum dalam format EXE. File jenis ini pulalah yang paling banyak digunakan untuk mebuat virus ( Waspadalah jika anda bukan Programer tapi di dalam komputer anda terdapat file dengan Extensi ini).
  • HTM / HTML ( Hyper Text Markup Language ) File ini berisi script yang bisa dijalankan dengan menggunakan Web Browser seperti Mozilla Firefox atau Opera. Virus yang biasanya berjenis Trojan sering menginfeksi file ini untuk kemudian mengunduh software jahat dari Internet.
  • JS ( Java Script ) File ini biasanya terdapat didalam file HTM dan  dijalankan bersama file HTM.
  • INI / INF Merupakan type file yang berisi kode kode yang biasanya untuk menjalankan software tertentu atau untuk memodifikasi Registry. Biasanya digunakan untuk driver hardware atau untuk autorun file ( autorun.inf ). Autorun.inf inilah yang paling sering digunakan banyak virus untuk menyebarkan diri melalui USB drive seperti FlashDrive
Media Files
  • PNG / JPG / GIF / TIFF  ( Image file ) adalah file gambar, masih banyak lagi type file gambar dengan berbagai extensi. MP3 / AAC ( Audio files ) adalah file suara yang biasa di gunakan untuk musik. AVI / MPG ( Video Files ) selain AVI dan MPG masih banyak lagi jenis file video yang lain. Virus sering kali menyamar sebagai file media untuk menarik user agar menjalanka file yang dimaksud misalkan dengan memberi nama “Video Bugil gadis.MPG” namun kalau kita tampilkan File extension yang aslinya maka biasanya akan tampak “Video Bugil gadis.MPG.exe”
Masih banyak jenis type file yang tidak bisa saya sebutkan satu persatu. Terkadang beberapa software aplikasi bisa menghasilkan type file sendiri dengan extersinya sendiri. Semoga dengan tulisan ini kita bisa lebih memahami karakter virus melalui file extension setiap file yang ada di komputer kita, Jika anda menemukan file extension yang tidak biasa mungkin anda patut curiga.

10 KELEBIHAN, KEKURANGAN DAN APLIKASI PEMROGRAMAN

A. Bahasa C
1. Sejarah
Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang diciptakan oleh Dennis Ricthie & W. Kerninghan tahun 1972 di Bell Telephone Laboratories Inc. (Sekarang adalah AT & T Bell Laboratories)
2. Aplikasi bahasa C :
Ø Bahasa C pertama kali digunakan di Computer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX.
Ø Bahasa C juga digunakan untuk menyusun operasi Linux
Ø Banyak bahasa pemrogaman popular seperti PHP dan Java menggunakan sintaks dasar mirip bahasa C.
3. Kelebihan dan Kekurangan Bahasa C
Kelebihan Bahasa C
Ø Bahasa C tersedia hampir di semua jenis computer
Ø Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer
Ø Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci
Ø Proses executable program bahasa C lebih cepat
Ø Dukungan pustaka yang banyak
Ø C adalah bahasa yang terstruktur
Ø Bahasa C termasuk bahasa tingkat menengah
Kekurangan Bahasa C
Ø Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
Ø Bagi pemula pada umumnya akan kesulitan menggunakan pointer
B. Bahasa Java
1.Sejarah
Java mulai dirilis pada tahun 1990 sebagai bahasa program yang disebut Oak, kemudian Sun MycroSystem mendirikan kelompok kerja yang terdiri atas para programmer handal untuk membuat produk dan memperluas pasar Sun. Oak didesain pertama kali untuk personal digital assistance yang disebut *7 yang akan dipasarkan Sun dengan fasilitas Graphical User Interface.
Ternyata *7 tidak pernah dipasarkan dan secara kebetulan Sun membentuk suatu perusahaan yang disebut Firstperson untuk mengembangkan *7 dalam bentuk TV set-top boxes untuk televisi interaktif. Karena persaingan begitu ketat akhirnya prospek TV interaktif menurun dan akhirnya Oak tidak laku di pasaran. Akan tetapi FirstPerson dan Oak mengalami kegagalan. bermunculan para perintis internet khususnya World Wide Web seperti Netscape membuat software yang memungkinkan terjadinya koneksi antara internet dengan www. Sun akhirnya menyadari bahwa Oak memiliki kemungkinan besar untuk membuat jalur akses ke dunia web. Tidak lamam kemudian Oak diluncurkan di Internet dengan nama baru yaitu, Java
Sekarang, java masih dalam taraf pengembangan dan sudah mempengaruhi arah pemrogaman computer dan internet. Bahasa pemrogaman Java dirilis secara gratis di Internet dan Sun memberikan lisensi penuh terhadap implementasi Java dan segala komponennya untuk digunakan di berbagai vendor software Internet dengan harapan supaya dapat menciptakan standard pemrogaman web.
2. Aplikasi Bahasa Java
Ø Pemrograman jaringan
Ø Pembuatan aplikasi berbasis windows
Ø Program untuk membuat web
3. Kelebihan dan Kekurangan
Kelebihan Bahasa Java:
Ø Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
Ø Aman, java dirancang dengan konsep keamanan internet.
Ø Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan.
Ø Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program.
Ø Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
Ø Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll.
Ø Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine.
Ø Mudah dipelajari karena bersifat sederhana
Ø Mendukung koneksi ke database
Kekurangan bahasa Java :
Ø Java memiliki kecepatan yang kurang dari bahasa C ++
Ø Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
Ø Java memakan banyak memori computer
Ø Java merupakan bahasa yang kompleks dan susah dipelajari
Ø Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat dengan bahasa lain seperti C atau C++.
C. Bahasa Pascal
1. Sejarah
Pascal dibuat pertama kali oleh Prof. Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. pascal berasal dari nama matematikawan yaitu Blaise Pascal. Pascal digunakan untuk mengenalkan pemrograman terstruktur.
2. Aplikasi Bahasa Pascal
Ø Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Delphi (berbasis windows)
Ø Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix (berbasis Linux)
3. Kelebihan dan kekurangan
Kelebihan bahasa pascal :
Ø Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string.
Ø User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
Ø Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
Ø Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
Ø Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.
Kekurangan bahasa pascal :
Ø Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
Ø Sintaks Pascal terlalu bertele-tele
Ø Tidak mendukung pemrograman berorientasi objek
Ø Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.
D. Bahasa PHP
1. Sejarah
PHP adalah bahasa pemrogaman web atau scripting language yang didesain untuk web. PHP dibuat pertama kali oleh Rasmus Lerdford untuk menghitung jumlah pengunjung pada homepagenya pada akhir tahun 1994. PHP terus berkembang dari PHP 1 yang ditulis ulang Rasmus dalam bahasa C pada tahun 1995 sampai PHP 4 yang diluncurkan tanggal 22 Mei 2000.
2. Aplikasi Bahasa PHP
Ø PHP digunakan sebagai landasan operasi pada pemrogaman jaringan berbasis web
Ø PHP digunakan juga untuk pemrogaman database.
Ø PHP digunakan untuk membuat aplikasi web
3. Kelebihan dan Kekurangan
Kelebihan:
Ø PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll
Ø PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
Ø PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
Ø Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web
Ø Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux
Ø Sintaks mirip C dan mudah dipelajari
Ø Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com, phpbuilder.com, phpindo.com, dll
Ø Berbagai script atau aplikasi yang gratis telah tersedia.
Kekurangan :
Ø Tidak detail untuk pengembangan skala besar
Ø Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya
Ø Tidak bisa memisahkan antara tampilan dengan logic dengan baik
Ø PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
Ø Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend
E. Bahasa Ruby
1. Sejarah
Ruby adalah bahasa pemrogaman scripting yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pemrogaman scripting yang ada di dunia. Ruby ditulis dengan bahasa C dengan kemampuan dasar seperti Perl dan Phyton.
Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Penulisan Ruby dimulai pada February 1993 dan pada Desember 1994 dirilis versi alpha dari ruby. Pada awal perkembangan Ruby, Yukihiro meulis Ruby sendiri sampai pada tahun 1996 terbentuk komunitas Ruby yang banyak mengkotribusikan Ruby.
2. Aplikasi bahasa ruby
Ø Implementasi besar Ruby pada JRuby dan Rubinius
Ø Ruby dapat diterapkan pada teknologi Asynchronous JavaScript dan XML (AJAX).
Ø Ruby on Rails untuk membuat framework web
3. Kelebihan dan Kekurangan
Kelebihan:
Ø Sintaks sederhana
Ø Memiliki Exception Handling yang baik
Ø OOP
Ø Single inheritance
Ø Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
Ø Merupakan bahasa pemrograman scripting yang berorientasi objek
Ø Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori
Kelemahan :
Ø Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
Ø Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
Ø Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
Ø IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.
F. Bahasa PROLOG
1. Sejarah
Prolog (Programmation en logique) adalah bahasa pemrograman logika atau bahasa non-prosedural. Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman untuk aplikasi kecerdasan buatan. Bahasa ini menjadi popular semenjak Jepang mengumumkan pada tahun 1981 bahwa jepang akan menggunakannya sebagai basis computer “generasi kelima”.
2. Aplikasi bahasa prolog
Ø Bahasa pemrograman Artificial Intellegence dan robot
Ø Bahasa pemrograman computer generasi kelima
Ø PROLOG banyak digunakan dalam aplikasi pembuatan bahasa alami, penulisan compiler, penambahan ilmu pada sistem pakar dan purwarupa (prototype) perangkat lunak.
Ø Bagus untuk menulis sistem pakar dan knowledge based system.
3. Kelebihan dan Kekurangan
Kelebihan :
Ø Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
Ø Melakukan komputasi rumit pada data yang kompleks.
Ø Mengekpresikan algoritma dengan baik.
Ø Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
Ø Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
Ø PROLOG mempunyai Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.
Kekurangan :
Ø Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi lambat
G. Bahasa Phyton
1. Sejarah
Bahasa pemrograman ini dibuat oleh Guido van Rossum dari Amsterdam, Belanda. Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa perusahaan menggunakan python sebagai pembuat perangkat lunak komersial.
Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya. Lengkap dengan source codenya, debugger dan profiler, antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan basis datanya. Python dapat digunakan dalam beberapa sistem operasi, seperti kebanyakan sistem UNIX, PCs (DOS, Windows, OS/2), Macintosh, dan lainnya. Pada kebanyakan sistem operasi linux, bahasa pemrograman ini menjadi standarisasi untuk disertakan dalam paket distribusinya.
2. Aplikasi bahasa phyton
Ø Perangkat bantu shell. Tugas-tugas sistem administrator, program baris perintah.
Ø Kerja bahasa ekstensi. Antarmuka untuk pustaka C/C++, kustomisasi
Ø Pembuatan prototipe secara cepat/pembuatan sistem aplikasi. Prototipe yang dapat dibuang atau sesuai dengan permintaan.
Ø Modul berdasarkan bahasa pemrograman. Pengganti dari penulisan parser khusus.
Ø Antarmuka pengguna grafis. Penggunaan GUI API sederhana dan canggih.
Ø Pengaksesan basisdata. Penyimpanan objek tetap, antarmuka sistem SQL.
Ø Pemrograman terdistribusi. Penggunaan API mekanisme client/server terintegrasi.
Ø Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.
3. Kelebihan dan Kekurangan
Kelebihan :
Ø Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
Ø Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
Ø Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode
Ø Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada
Ø Pemrograman berorientasi objek
Ø Pelekatan dan perluasan dalam C
Ø Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular
Ø Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
Ø Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya
Ø Model objek universal kelas Satu
Ø Konstruksi pada saat aplikasi berjalan
Ø Interaktif, dinamis dan alamiah
Ø Akses hingga informasi interpreter
Ø Portabilitas secara luas seperti pemrograman antar platform tanpa ports
Ø Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber
Ø Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll
Kekurangan:
Ø Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
Ø Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
Ø Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
Ø Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.
H. Bahasa Cobol
1. Sejarah
COBOL diciptakan pada tahun 1959. Bahasa COBOL pertama kali diperkenalkan secara resmi atau formal pada bulan Januari 1960. Versi dari bahasa COBOL ini disebut dengan COBOL-60. Dan diperbaharui pada tahun 1965. Bila suatu bahasa komputer tidak standar, dalam arti banyak versinya, maka menyulitkan pemakai untuk menerapkannya, pemakai harus menyesuaikan versi dari COBOL yang dipakai oleh komputer tertentu. Untuk mengatasi masalah hal ini, pada tahun 1968 dan 1974 bahasa COBOL dikembangkan dan disempurnakan lebih lanjut dan distandardisasikan dengan nama ANSI COBOL (American National Standards Institute ). ANSI COBOL ini yang sekarang banyak diterapkan oleh sejumlah pabrik-pabrik komputer. Dengan adanya standardisasi, pemakai tidak terlalu sulit menggunakan bahasa COBOL versi yang berbeda, karena inti dari bahsa ini sama.
2. Aplikasi bahasa COBOL
Ø Untuk membuat aplikasi bisnis
Ø Untuk pengolahan data dan database
3. Kelebihan dan Kekurangan
Kelebihan :
Ø Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat.
Ø Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan .
Ø Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan.
Ø Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit.
Ø COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer.
Ø Mudah didokumentasikan dan dikembangkan bilamana perlu
Ø Problem Orientad Language
Kekurangan :
Ø Operasi masukan dan keluaran yang masih kaku
Ø Struktur penulisan program yang sangat kaku dan bertele-tele
I. Bahasa Basic
1. Sejarah
BASIC adalah beginner all-purpose symbolic instruction code dikembangkan tahun 1965 di Darmouth College oleh John Kemeny dan Thomas Kurtz. Awalnya ditujukan untuk pengajaran dasar pemrogaman computer.
2. Aplikasi bahasa basic
Ø Landasan pemrograman Visual Basic dan visual basic for aplication
Ø Bahasa pemrograman pada banyak produk Microsoft seperti untuk administrasi dan otomatisasi batch skrip, windowskrip house.
Ø Untuk pembuatan program kid Basic, FreeBasic, dan Gambas
3. Kelebihan dan Kekurangan
Kelebihan:
Ø Bahasa Basic tergolong bahasa serbaguna dan dapat digunakan di aplikasi apa saja.
Kekurangan:
Ø Bahasanya kurang terstruktur
Ø Tidak cocok untuk membuat aplikasi besar
Ø Sintaksnya penuh dengan GOTO yang menyesatkan
Ø Bahasa ini merupakan bahasa yang primitif di era DOS
J. Bahasa C++
1. Sejarah
Bahasa C++ diciptakan oleh Bjarne Stroustrup tahun 1983 di Lab Bell. C++ merupakan bahasa pemrograman berorientasi objek menggunakan kaidah bahasa C
2. Aplikasi bahasa C++
Ø Sebagai bahasa pemrograman di Windows, UNIX, Linux.
Ø Visual C++ dapat dibuat aplikasi apa saja seperti database.
Ø Bahasa untuk pembuatan system operasi, game, system kendali,pembuatan aplikasi
Ø Untuk membuat bahasa baru atau membuat compiler bahasa baru
Ø Untuk menulis komponen dan file-file pustaka bahasa lain
3. Kelebihan dan Kekurangan
Kelebihan:
Ø Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#
Ø Compiler bahasa C++ terdapat di semua platform
Ø Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll
Ø Merupakan pemrograman berorientasi objek
Kekurangan:
Ø Bahasa ini cukup sulit untuk dipelajari dan dipahami
Ø Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
Ø Bagi pemula pada umumnya akan kesulitan menggunakan pointer