Kamis, 28 Juli 2011

Prosedural Programming

Prosedur dan modularitas

Modularitas umumnya diinginkan, terutama dalam jumlah besar, program yang rumit. Input biasanya ditentukan sintaktis dalam bentuk argumen dan output disampaikan sebagai nilai kembali.

Penjajakan adalah teknik lain yang membantu menjaga prosedur sangat modular. Ini mencegah prosedur mengakses variabel prosedur lain (dan sebaliknya), termasuk contoh sebelumnya dari dirinya sendiri, tanpa otorisasi eksplisit.

Kurang prosedur modular, sering digunakan dalam program kecil atau cepat ditulis, cenderung berinteraksi dengan sejumlah besar variabel dalam lingkungan eksekusi, yang prosedur lain juga dapat memodifikasi.

Karena kemampuan untuk menentukan antarmuka yang sederhana, menjadi mandiri, dan untuk digunakan kembali, prosedur adalah kendaraan yang nyaman untuk membuat potongan kode yang ditulis oleh orang yang berbeda atau kelompok yang berbeda, termasuk melalui perpustakaan pemrograman.

(Lihat Modul dan paket perangkat lunak.)
[sunting] Perbandingan dengan pemrograman imperatif

Bahasa pemrograman prosedural juga bahasa-bahasa imperatif, karena mereka membuat referensi eksplisit untuk keadaan lingkungan eksekusi. Ini bisa apa saja dari variabel (yang mungkin sesuai dengan register prosesor) untuk sesuatu seperti posisi "kura-kura" dalam bahasa pemrograman Logo.
[sunting] Perbandingan dengan pemrograman berorientasi obyek

Fokus pemrograman prosedural adalah memecah tugas pemrograman menjadi kumpulan variabel, struktur data, dan subrutin, sedangkan dalam pemrograman berorientasi obyek itu adalah memecah tugas pemrograman ke dalam kelas dengan masing-masing "kelas" encapsulating metode sendiri (subrutin). Perbedaan paling penting adalah menggunakan pemrograman prosedural sedangkan prosedur untuk beroperasi pada struktur data, bundel pemrograman berorientasi objek kedua bersama sehingga suatu "objek", yang merupakan instance dari kelas, beroperasi pada "sendiri" struktur datanya.

Nomenklatur bervariasi antara dua, meskipun mereka memiliki semantik yang sama.

apa itu OOP ???

Sederhana, non-OOP program mungkin salah satu "panjang" daftar pernyataan (atau perintah). Program yang lebih kompleks akan sering sekelompok bagian yang lebih kecil dari laporan ke fungsi atau subrutin masing-masing yang mungkin melakukan tugas tertentu. Dengan desain semacam ini, adalah umum untuk beberapa data program untuk dapat diakses dari setiap bagian dari program (kadang-kadang dikelompokkan ke dalam apa yang sering dikenal sebagai "Comarea"). Sebagai program tumbuh dalam ukuran, memungkinkan setiap fungsi untuk memodifikasi setiap bagian dari data yang berarti bahwa bug dapat memiliki lebar mencapai efek.
Sebaliknya, pendekatan berorientasi obyek mendorong programmer untuk menempatkan data di mana tidak langsung dapat diakses oleh seluruh program. Sebaliknya, data yang diakses dengan memanggil fungsi khusus ditulis, metode yang umum disebut, baik yang terbungkus dengan data atau diturunkan dari "objek kelas." Fungsi ini bertindak sebagai perantara untuk mengambil atau memodifikasi data yang mereka kontrol. Membangun pemrograman yang menggabungkan data dengan seperangkat metode untuk mengakses dan mengelola data tersebut disebut obyek. Praktek menggunakan subrutin untuk memeriksa atau memodifikasi jenis tertentu dari data, bagaimanapun, juga cukup sering digunakan dalam non-OOP pemrograman modular, baik sebelum meluasnya penggunaan pemrograman berorientasi obyek)
Sebuah program berorientasi objek biasanya akan mengandung berbagai jenis objek, masing-masing tipe untuk jenis tertentu data yang kompleks untuk dikelola atau mungkin ke objek dunia nyata atau konsep seperti rekening bank, pemain hoki, atau buldoser. Suatu program mungkin berisi beberapa salinan dari setiap jenis objek, satu untuk masing-masing objek dunia nyata program ini berurusan dengan. Misalnya, ada bisa menjadi salah satu rekening bank untuk setiap account objek dunia nyata di sebuah bank tertentu. Setiap salinan dari objek rekening bank akan sama dalam metode menawarkan untuk memanipulasi atau membaca data, tetapi data di dalam setiap objek akan berbeda mencerminkan sejarah yang berbeda dari setiap account.
Objek dapat dianggap sebagai data yang membungkus mereka dalam satu set fungsi yang dirancang untuk memastikan bahwa data yang digunakan tepat, dan untuk membantu dalam menggunakannya. Metode objek biasanya akan mencakup pemeriksaan dan perlindungan yang spesifik untuk tipe data objek berisi. Sebuah objek juga dapat menawarkan sederhana digunakan, metode standar untuk melakukan operasi tertentu pada data, sementara menyembunyikan spesifik tentang bagaimana tugas-tugas yang dicapai. Dengan cara ini perubahan dapat dibuat dengan struktur internal atau metode obyek tanpa memerlukan bahwa sisa dari program akan diubah. Pendekatan ini juga dapat digunakan untuk menawarkan metode standar di berbagai jenis objek. Sebagai contoh, beberapa jenis objek mungkin menawarkan metode cetak. Setiap jenis objek mungkin menerapkan bahwa metode cetak dengan cara yang berbeda, yang mencerminkan jenis data yang berbeda masing-masing berisi, tetapi semua metode cetak yang berbeda bisa disebut dengan cara standar yang sama dari tempat lain dalam program. Fitur-fitur ini menjadi sangat berguna ketika lebih dari satu programmer berkontribusi kode untuk proyek atau ketika tujuannya adalah untuk menggunakan kembali kode antara proyek.
Pemrograman berorientasi obyek memiliki akar yang dapat ditelusuri ke tahun 1960-an. Seperti hardware dan software menjadi semakin kompleks, pengelolaan sering menjadi perhatian. Para peneliti mempelajari cara untuk menjaga kualitas perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam bagian untuk mengatasi masalah umum dengan sangat menekankan diskrit, unit reusable logika pemrograman [rujukan?]. Teknologi ini berfokus pada data daripada proses, dengan program yang terdiri dari modul mandiri ("kelas"), masing-masing instance dari yang ("objek") berisi semua informasi yang dibutuhkan untuk memanipulasi struktur data sendiri ("anggota"). Hal ini berbeda dengan pemrograman modular yang ada yang telah dominan selama bertahun-tahun yang berfokus pada fungsi dari modul, bukan khusus data, tetapi juga disediakan untuk penggunaan kembali kode, dan mandiri unit reusable logika pemrograman, memungkinkan kolaborasi melalui penggunaan modul terkait (subrutin). Pendekatan yang lebih konvensional, yang masih tetap, cenderung untuk mempertimbangkan data dan perilaku secara terpisah.
Sebuah program berorientasi obyek dengan demikian dapat dipandang sebagai koleksi benda-benda berinteraksi, yang bertentangan dengan model konvensional, di mana program dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek dapat menerima pesan, pengolahan data, dan mengirim pesan ke objek lainnya. Setiap objek dapat dilihat sebagai "mesin" independen dengan peran yang berbeda atau tanggung jawab. Tindakan (atau "metode") pada benda-benda yang terkait erat dengan objek. Sebagai contoh, data OOP struktur cenderung untuk "membawa operator sekitar mereka sendiri dengan mereka" (atau setidaknya "mewarisi" mereka dari obyek atau kelas yang sama) - kecuali ketika mereka harus serial.

Attitude Is Everything

Attitude is everything.

maksudnya adalah meskipun kita paling pintar di sekolah,tetapi jika attitude kita jelek,kepintaran kita tidak akan berguna sama sekali.

lebih baik kita sedang-sedang saja ilmunya,tetapi baik pada attitude.dengan begitu kemungkinan besar kita tidak akan sulit untuk memperoleh pekerjaan karena kita sudah punya attitude yang baik.

Di dalam dunia pekerjaan atau dunia masyarakat,kita harus bisa bersikap baik dan ramah,karena dengan sikap kita ini semua orang bisa menilai kita baik.

Tetapi sebaliknya,jika kita sudah sangat pintar,bahkan mengalahkan gurunya(tapi sulit),tetapi kita tidak bisa bersikap ramah kepada masyarakat,kita akan di pandang jelek oleh mereka,karena mereka menganggap bahwa kita bersikap sombong.

itulah attitude yang harus kita jaga setiap saat dimana pun,kapan pun,dan bagaimana pun.

Selasa, 26 Juli 2011

Java In my Heart

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

SEJARAH
Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemeritaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.
VERSI
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
· java.lang: Peruntukan kelas elemen-elemen dasar.
· java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
· java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
· java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
· java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
· java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
KELEBIHAN
· Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
· OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis oebjek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
· Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
· Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
· Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
KEKURANGAN
· Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
· Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
· Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.