Guitar -->

Minggu, 28 November 2010

Bahasa C

Bahasa C dirancang oleh Dennis Ritchie pada tahun 1972-1973. Semula dimaksudkan untuk DEC PDP-11, (DEC : Digital Equipment Corporation) termasuk kategori Bahasa Tingkat Tinggi. C adalah keturunan dari BCPL (Basic Combinet Programming Language), dan merupakan penerus dari bahasa yang mirip BCPL, yang hanya dapat bertahan hidup dalam waktu singkat, yang dinamakan ‘B’. Dan C ini ini lebih sukses dari pada B.

Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa mempengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.

Versi Bahasa C
C K&R

Pada tahun 1978, ''Dennis Ritchie'' dan ''Brian Kernighan'' menerbitkan edisi pertama dari buku yang berjudul ''The C Programming Language''. Buku ini hingga sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang pemrogram yang ingin mengetahui tentang bahasa C, terutama karena begitu lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang dicontohkan dalam buku ini.

Versi bahasa C yang ditampilkan dalam buku ini kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku ''The C Programming Language'' edisi kedua kemudian melingkupi ANSI C yang diperkenalkan belakangan.

ANSI C & ISO C
Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute ([[ANSI]]) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini seringkali dinamakan ANSI C, atau kadang-kadang C89.

Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization ([[ISO]]) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama.

C99
Versi C99 dibuat oleh ISO C pada tahun 1999. Versi ini dimaksudkan terutama untuk memperbanyak dukungan kepada pemrograman berorientasi objek, terutama setelah [[C++]], yang dibuat berdasarkan bahasa ini mendapat tempat yang istimewa di kalangan pemrogram.

SOFTWARE

Nama lain dari Software disebut juga dengan perangkat lunak. Seperti nama lainnya itu, yaitu perangkat lunak, sifatnya pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat diliat dan disentuh oleh manusia, maka software atau Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi kita bisa mengoperasikannya.

Pengertian Software komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. melalui sofware atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah
software atau perangkat lunak komputer berdasarkan distribusinya dibedakan menjadi beberapa macam, yaitu software berbayar, software gratis atau free ( Freeware, free software, shareware, adware) . untuk lebih jelasnya silahkan baca definisi lebih detail mengenai beberapa jenis software tersebut.
software berbayar merupakan perangkat lunak yang didistribusikan untuk tujuan komersil, setiap pengguna yang ingin menggunakan atau mendapatkan software tersebut dengan cara membeli atau membayar pada pihak yang mendistribusikannya. pengguna yang menggunakan software berbayar umumnya tidak diijinkan untuk menyebarluaskan software tersebut secara bebas tanpa ijin ada penerbitnya. contoh software berbayar ini misalnya adalah sistem microsoft windows, microsoft office, adobe photo shop, dan lain-lain.

PERKEMBANGAN PEMBUATAN PERANGKAT LUNAK
Dari perkembangan perangkat lunak, kita bisa membayangkan bagaimana perkembangan interaksi manusia dengan perangkat lunak.
Bentuk paling primitif dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan sebagai binary digit (bit), yaitu 1 (benar / on) atau 0 (salah / off), cari ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (2 byte), double word (32 bit).
Kelompok-kelompok bit ini di susun ke dalam struktur instruksi seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode-kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya.

EVOLUSI PERANGKAT LUNAK
Era Pioner
Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, gambar berikut memperlihatkan orang yang sedang menggunakan komputer. Cara lain dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu. Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya. Penggunaan komputer dilakukan secara langsung
dan hasil yang selesai di kerjakan komputer berupa print out. Proses yang di lakukan di dalam komputer berupa baris instruksi yang secara berurutan di proses.

Era Stabil
Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan. Perusahaan perangkat lunak bermunculan, dan sebuah perangkat lunak dapat menjalankan beberapa fungsi, dari ini perangkat lunak mulai bergeser menjadi sebuah produk. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real time). Pada era ini mulai di kenal sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses).
Era Mikro
Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak juga berkembang untuk memenuhi kebutuhan perorangan. Perangkat lunak dapat di bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunannya untuk keperluan tertentu. Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan.
Era Modern
Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah superkomputer dengan 25 prosesornya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Dan yang hebatnya lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling terhubung. Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang, tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang
melibatkan berbagai disiplin ilmu dalam perancangannya. Tingkat kecerdasan yang di tunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar.



Sabtu, 27 November 2010

ALGORITMA

Sekilas Mengenai Algoritma
Algoritma seperti kata kebanyakan orang, bukanlah sesuatu yang hanya berhubungan dengan dunia komputer saja. Algoritma juga berlaku dalam kehidupan sehari-hari. Kali ini saya mau membahas contoh yang mungkin kedengaran tidak “lazim” digunakan untuk memberi gambaran mengenai algoritma.

Algoritma Pemrograman

Algoritma mempunyai awal dan akhir.
• Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (ambigu).
• Memiliki masukan (input) atau kondisi awal.
• Memiliki keluaran (output) atau kondisi akhir.
• Algoritma harus efektif; bila digunakan benar – benar menyelesaikan persoalan.

Array
Dalam “permainan” ini, meminta user untuk memasukkan nomor stambuk yang terdiri atas 7 angka. Masing - masing angka (dari nomor stambuk) tersebut akan disimpan dalam sebuah array yang terdapat variabel a. Nilai dari masing – masing array tersebut akan dikalikan jika nilai tersebut bukan 0 (nol) dan “disimpan dalam sebuah variabel sebut saja x. Kemudian dibuat variabel lain sebut saja b yang memiliki 7 array juga. “Isi” variabel b merupakan hasil dari masing – masing array variabel a ditambah x. Berikut ini kodenya:

#include
using namespace std;

void main() {
int a[7], x = 1;
for (int i = 0; i < 7; ++i) { cout << "nomor " << i + 1 << ": "; cin >> a[i];
}

for (int j = 0; j < 7; ++j) { if (a[j] == 0) continue; else { x *= a[j]; } } int b[7]; for (int k = 0; k < 7; ++k) { b[k] = a[k] + x; cout << b[k] << "\n"; } } Penutup Phew, akhirnya selesai juga tulisan ini (tepatnya beberapa menit lagi sebelum Van Helsing beraksi alias tengah malam :D). Ngga tau, berapa lama waktu saya habiskan di depan kompie untuk menyempurnakan tulisan ini. Lagi pula, karena ini merupakan tulisan pertama saya, maka pasti tidak luput dari kesalahan – kesalahan (sebenarnya tulisan ke berapa pun pasti ada kesalahan karena manusia tidak ada yang sempurna, ‘tul ga?). Oleh karena itu, saran dan kritik sangat diharapkan untuk menjadi masukan yang berguna dikemudian hari.

FLOWCHART

1. PENDAHULUAN
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

2. PEDOMAN-PEDOMAN DALAM MEMBUAT FLOWCHART
Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan MENGHITUNG PAJAK PENJUALAN.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.

3. JENIS-JENIS FLOWCHART
Flowchart terbagi atas lima jenis, yaitu :
§ Flowchart Sistem (System Flowchart)
§ Flowchart Paperwork / Flowchart Dokumen (Document Flowchart)
§ Flowchart Skematik (Schematic Flowchart)
§ Flowchart Program (Program Flowchart)
§ Flowchart Proses (Process Flowchart)

3.1. FLOWCHART SISTEM

Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.

Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).

3.2. FLOWCHART PAPERWORK / FLOWCHART DOKUMEN

Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart Paperwork sering disebut juga dengan Flowchart Dokumen.
Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.

Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol-simbol flowchart standar, tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam sistem.
Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.
Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol-simbol yang digunakan. Gambar-gambar juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian.

3.4. FLOWCHART PROGRAM

Flowchart Program dihasilkan dari Flowchart Sistem.
Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi.
Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer.
Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.

3.5. FLOWCHART PROSES

Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.
Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.


4. SIMBOL-SIMBOL FLOWCHART

Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO.

Jumat, 26 November 2010

BAHASA PEMROGRAMAN

Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa computer, bahasa yang dapat dimengeri oleh komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantic yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
1.       Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
2.     Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
3.     Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
4.     Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa  Assembly yang digolongkan sebagai Bahasa Tingkat Menengah dan mesin yang merupakan Bahasa Tingkat Rendah.