Jumat, 10 Desember 2010

TEKNIK PEMORGAMAN

SEJARAH ALGORITMA
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-Khowarizmi, ilmuan  Persia yang menulis kitab al  jabr  w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

BAHASA PEMROGRAMAN
Program adalah kumpulan instruksi/ perintah yang disusun sebagai satu kesatuan prosedur yang berupa urutan langkah-langkah untuk menyelesaikan suatu masalah sehingga dapat di eksekusi oleh komputer. Program memberitahukan kepada komputer apa yang harus dilakukan.
Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
Bahasa pemrograman adalah prosedur/ tatacara penulisan program komputer. Bahasa pemrograman berfungsi sebagai media untuk mneyusun dan memahami suatu program komputer serta sebagai alat komunikasi antara programmer dengan komputer.
Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam Bahasa pemrogram dibedakan menjadi :
-          Bahasa tingkat rendah (low level language) : bahasa yang berorientasi ke mesin.
-          Bahasa tingkat  tinggi (high level language) : bahasa yang berorientasi ke manusia (seperti  bahasa inggris). Contoh bahasa Pascal, bahasa C dll.
Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penterjemah.
Penterjemah :
-          Interpreter : menterjemahkan baris per baris
instruksi. Contoh bahasa Basic.
-          Compiler : menterjamahkan setelah seluruh
instruksi ditulis. Contoh bahasa Pascal, C, C++, dll.

DEFINISI ALGORITMA
ü  Urutan langkah-langkah untuk memecahkan masalah
ü  Urutan logis pengambilan keputusan untuk  memecahkan masalah
-          urutan langkah logis, berarti algoritma harus mengikuti suatu  urutan tertentu, tidak boleh melompat-lompat.
ü  Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
-          alur pikiran, yang artinya algoritma  seseorang dapat berbeda dari algoritma orang lain. 
-          tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
ü  Dalam bidang komputer, algoritma sangat diperlukan   dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
ü  Algoritma di butuhkan untuk memerintah komputer  mengambil langkah-langkah tertentu untuk menyelesaikan masalah
ü  Algoritma  à Pemrograman à Program
ü  Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).

KRITERIA PEMILIHAN ALGORITMA
1.       Ada Output
2.       Efektifitas dan Efisiensi
3.       Jumlah Langkahnya Berhingga
4.       Berakhir
5.       Terstruktur

PENULISAN ALGORITMA
          Menggunakan bahasa natural  (Bahasa manusia: Indonesia, Inggris)
Kelemahannya  masih sering membingungkan (ambigu) / sulit dipahami.
          Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi  repot pembuatannya jika algoritma panjang 
          Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman
TAHAP PROSES UJI ALGORITMA
1.       Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis maupun logika.
2.       Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan banyak nya memori program yang digunakan.

ANALISIS SUATU ALGORITMA
Untuk melihat effisiensi dan  efektifitas dari suatu algoritma, dapat dilihat dari:
1.       Waktu Tempuh dari Suatu Algoritma
2.       Jumlah memori yang digunakan
3.       Hal-hal yang dapat mempengaruhi waktu tempuh adalah :
1.       Banyaknya langkah.
2.       Besar dan jenis input data.
3.       Jenis Operasi.
4.       Komputer dan kompilator         

SIFAT - SIFAT ALGORITMA
Aspek Penting Algoritma :
          Finite à algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas
          Definite à setiap langkah didefinisikan secara  tepat, tidak boleh membingungkan (ambigu)
          Input à sebuah algoritma memiliki nol/lebih input sebelum dijalankan
          Output à algoritma memiliki satu/lebih output, yang biasanya bergantung kepada input
          Effective à setiap algoritma diharapkan memiliki sifat efektif. (setiap langkah harus sederhana  dan sehingga dapat dikerjakan dalam waktu yang masuk akal)
Langkah-langkah yang membentuk suatu algoritma dapat dibagi menjadi 3 kelompok proses:
1.       Sequence Process à instruksi dikerjakan secara berurutan satu persatu dimulai dari langkah pertama sampai terakhir.
2.       Selection Process à instruksi pemilihan proses (percabangan),  sehingga apabila memenuhi persyaratan tertentu maka instruksi akan dikerjakan.
Contoh : jika pembayaran tunai diberi diskon 10%  Jika dilakukan secara kredit maka diskon 0 %. (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi.
3.       Iteration Process à suatu instruksi yang dikerjakan berulang-ulang selama beberapa kali selama masih memenuhi suatu kondisi.

CIRI PENTING ALGORITMA
§  Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
§  Setiap langkah harus didefinisikan dengan  tepat dan tidak berarti-dua (Ambiguitas).
§  Algoritma memiliki nol atau lebih masukkan.
§  Algoritma memiliki nol atau lebih keluaran.
§  Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam  waktu yang masuk akal).

SISTEM KOMPUTER
Sebuah sistem komputer terdiri dari:
          Hardware (perangkat keras) ,
          Software (perangkat lunak) dan
          Brainware,
sedangkan Software dapat dikelompokkan menjadi:
          Operating System Software,
          Programming Language Software
          dan Application Program Software.

DEFINISI PROGRAM
          Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program).
          Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa).
          Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan.
          Mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.

PARADIGMA PEMROGRAMAN
Ø  Pemrograman Prosedural
Ø  Pemrograman Fungsional
Ø  Pemrograman Modular
Ø  Pemrograman Berorientasi Obyek
Ø  Pemrograman Berorientasi Fungsi
Ø  Pemrograman Deklaratif

SIKLUS HIDUP PERANGKAT LUNAK (SOFTWARE)




Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program).

PENGENALAN FLOWCHART
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan proses kegiatan menjadi jelas. Jika ada penambahan proses maka dapat dilakukan dengan mudah. Setelah flowchart selesai disusun, selanjutanya pemrogram (programmer) menerjemahkan ke bentuk program dengan bahasa pemrogaman.

BAGAN FLOWCHART

















KAIDAH-KAIDAH PEMBUATAN FLOWCHART
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
-          Input berupa bahan mentah
-          Proses pengolahan
-          Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;
  •  START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah.
  • READ: berisi instruksi untuk membaca data dari suatu peralatan input.
  •  PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  • WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
  • END: mengakhiri kegiatan pengolahan
Suatu flowchart harus terdapat proses persiapan dan proses akhir. Dan yang menjadi topik dalam pembahasan ini adalah tahap proses. Karena kegiatan ini banyak mengandung variasi sesuai dengan kompleksitas masalah yang akan dipecahkan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran yaitu:
ü  Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
ü  Penggambaran flowchart yang simetris dengan arah yang jelas.
ü  Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

BAHASA PEMROGRAMAN PASCAL
Bahasa pemrograman Pascal termasuk dalam bahasa pemrograman tingkat tinggi. Struktur Program dalam Pascal terdiri dari 3 bagian, yaitu:
1.       Kepala Program
2.       Bagian Deklarasi
3.       Bagian Pernyataan (program utama)

Kepala Program
Sebuah program pascal diawali bagian kepala program. Penulisan kepala program diawali dengan kata tercadang (reserved word) PROGRAM, kemudian diikuti oleh nama program dan diakhiri tanda titik koma.

Bagian Deklarasi
Bagian deklarasi berfungsi sebagai tempat untuk mendeklarasikan/ mengenalkan nama-nama yang akan digunakan dalam bagian pernyataan. Terdiri dari 5 macam deklarasi, yaitu:
1.       Deklarasi Label
Pendeklarasian nama label untuk menandai suatu bagian pernyataan dalam program utama.
2.       Deklarasi Konstanta
Pendeklarasian nama konstanta sebagai penampung data yang bersifat konstan/ tetap.
3.       Deklarasi Tipe
Pendeklarasian nama tipe yang digunakan untuk membuat tipe data baru.
4.       Deklarasi Variabel
Pendeklarasian nama variabel sebagai penampung data yang bersifat dinamis/ dapat diubah-ubah.
5.       Deklarasi Subprogram
Pendeklarasian fungsi atau prosedur yang akan dipanggil pada program utama.
Dari 5 macam deklarasi, tidak perlu dideklarasikan semuanya dalam program. Hanya bagian yang dibutuhkan saja yang harus dideklarasikan.

Bagian Pernyataan
Bagian pernyataan merupakan program utama dalam pemrograman Pascal. Pada saat dilakukan ekseskusi program, komputer akan menjalankan bagian pernyataan ini. Program utama diawali dengan kata tercadang BEGIN dan diakhiri dengan kata tercadang END dan tanda titik.

Unit
Dalam bahasa pemrograman Pascal menyediakan suatu cara pemrograman modular dengan menggunakan Unit.. unit adalah suatu pustaka yang umumnya terdiri dari fungsi atau prosedur serta variabel yang dapat dikompilasi secara terpisah. Dalam program dituliskan dengan clausa USES diikuti dengan nama unit dan diakhiri tanda titik koma.
Contoh: USES CRT;

Komentar
Dalam Pascal komentar ditulis dalam tanda kurung kurawal { }. Kita dapat menulis keterangan atau apa saja di dalam komentar. Komentar tidak akan dieksekusi oleh program. Tujuan penggunaa komentar adalah untuk dokumentasi dan memudahkan orang lain untuk memahami program yang telah kita buat.

Contoh kerangka program Pascal
Uses crt;
begin
  clrscr;+
  writeln('ini baris pertama');
  writeln('ini baris kedua');
  write('ini baris ketiga');
  write(' ini muncul disampingnya ');
  writeln;
  write('ini baris keempat');
end.

PEMROGRAMAN
Secara umum, dalam pemrograman terstruktur terdiri dari 3 struktur, yaitu stuktur runtutan, percabangan dan perbandingan. Masing-masing struktur akan dijelaskan dibawah ini.
1.       Struktur Runtutan
Pada struktur runtutan/ berurutan setiap pernyataan akan dikerjakan satu per satu sesuai dengan urutan penulisan algoritma program. Setiap pernyataan dilaksanakan tepat satu kali dan tidak ada pernyataan yang diulang atau pernyataan yang tidak dilaksanakan. Akhir dari pernyataan terakhir merupakan akhir dari algoritma program tersebut.
2.       Struktur Percabangan
Pada struktur percabangan memungkinkan suatu pernyataan untuk dieksekusi hanya jika suatu kondisi tertentu terpenuhi atau tidak terpenuhi. Struktur percabangan disebut juga dengan struktur pemilihan. Terdapat beberapa pernyataan yang akan dipilih berdasarkan suatu kondisi. Sehingga terdapat bagian pernyataan yang dilewati atau tidak dijalankan oleh program.
Terdapat dua macam instruksi struktur percabangan dalam pemrograman, yaitu IF dan Case.
1.       Struktur Perulangan
Struktur perulangan merupakan struktur algoritma yang akan melakukan suatu proses/ eksekusi yang berulang-ulang jika suatu kondisi terpenuhi atau tidak terpenuhi. Proses perulangan ini biasanya digunakan untuk:
a.       Mengulang proses pemasukan data
b.      Mengulang proses perhitungan
c.       Mengulang Proses penampilan hasil pengolahan data
Struktur perulangan terdiri dari:
a.       Inisialisasi, Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
b.      Kondisi pengulangan, Ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan.
c.       Badan pengulangan, Satu atau lebih aksi/ pernyataan yang akan diulang.
d.      Terminasi, Aksi yang dilakukan setelah pengulangan selesai dilakukan.
Bentuk umum perulangan:
        <Inisialisasi>
Awal perulangan
Badan perulangan
Akhir perulangan
<Terminasi>
Kondisi perulangan dapat berada pada awal perulangan atau akhir perulangan.
Bentuk instruksi pengulangan dan pemrograman terstruktur ada tiga macam, yaitu:
a.       For – Next
b.      While – Do
c.       Repeat – Until