Silahkan Search Disini

Minggu, 17 Januari 2010

PENGENALAN ALGORITMA DAN PEMROGRAMAN

Tujuan mata kuliah Algoritma dan Struktur Data :

Membangun sebuah program pada dasarnya adalah membuat alat bantu untuk menyelesaikan suatu masalah. Sebelum kita dapat menghasilkan program yang mampu membantu kita menyelesaikan masalah tersebut, kita dihadapkan pada 3 (tiga) tahapan pokok, yaitu :




1.    Memahami permasalahan dan tujuan sebuah program dibuat.
Pada tahap ini kita harus mampu mengidentifikasi jenis, bentuk dan karakteristik input serta output yang diharapkan. Tetapi untuk skala permasalahan yang besar, selain jenis, bentuk dan karakteristik, kita juga perlu mengetahui dengan pasti asal, frekuensi dan volume data input serta tujuan, frekuensi dan volume data output yang diharapkan;

2.    Mampu menyusun konsep/rancangan/desain penyelesain dari masalah yang akan kita selesaikan.
Dari hasil pemahaman kita terhadap permasalahan di atas, kita harus mampu merancang sebuah alur proses untuk mengolah data input dan menghasilkan data output dengan jenis, bentuk dan karakteristik seperti yang diharapkan;

3.    Mampu mengimplementasikan hasil rancangan kita dalam bentuk program yang terstruktur.
Program tersebut dapat kita buat dengan menggunakan sebarang bahasa pemrograman. Untuk itulah kita diharuskan memahami dan menguasai komponen bahasa pemrograman dan teknik pemrograman dengan baik.


Untuk tahap pertama, kiranya hanya dengan sering berlatih dalam mengamati dan memahami suatu permasalahan akan semakin terasah.

Pada tahap kedua hasil pengamatan dan pemahaman terhadap permasalahan riil harus dituangkan ke dalam sebuah bentuk alur penyelesaian masalah. Ini yang seringkali disebut sebagai algoritma. Terdapat sebuah alasan mengapa harus merumuskan penyelesaian masalah tersebut ke dalam bentuk alur yang terstruktur. Hal ini disebabkan komputer sebagai alat bantu yang berupa mesin tidak mampu menyelesaikan masalah seperti manusia yang seringkali berpikir tidak terstruktur.  Komputer hanya mampu diberi perintah secara berurutan dan mengoptimalkan kemampuan komputer melakukan komputasi dengan cepat dan dalam jumlah besar.

Selanjutnya pada tahap ketiga, hasil penyusunan alur penyelesaian masalah (yang sudah terbentuk dalam format algoritma) diaplikasikan ke dalam komputer melalui penulisan sebuah program dengan menggunakan bahasa pemrograman. Proses ini lazim disebut sebagai coding.

Sebuah program pada dasarnya berisi rangkaian instruksi yang saling terkait satu dengan lainnya (membentuk alur proses) dan tersusun secara terstruktur sedemikian hingga apabila program tersebut dijalankan akan dapat menghasilkan output seperti yang diharapkan. Pada sebarang bahasa pemrograman, alur instruksinya akan sama untuk masalah yang sama, perbedaannya hanya terletak pada cara penulisan instruksi (sintaks) yang berbeda antara satu bahasa pemrograman dengan bahasa pemrograman yang lain, seperti halnya pada bahasa yang digunakan untuk berkomunikasi antar manusia. Karena alur dan bentuk rangkaian instruksi itulah yang mewakili logika pemikiran dalam menyelesaikan masalah tersebut, atau sering disebut Algoritma. Dikatakan algoritma karena alur pemikiran tersebut ditulis dalam bentuk yang terstruktur sedemikian hingga mudah untuk diimplementasikan menjadi sebuah program melalui bahasa pemrograman sebarang.


·         Algoritma
Algoritma adalah sebuah strategi yang mengandalkan kemampuan berpikir secara logis untuk memecahkan suatu masalah. Dalam algoritma, kita mulai dengan berpikir apa yang kita miliki (kekuatan dan kelemahan), selanjutnya kita atur langkah (aksi) agar tujuan atau sasaran yang kita harapkan dapat terwujud.

            Begitu juga dalam hal membuat program komputer. Ada keterbatasan statemen yang disediakan, namun dengan keterbatasan itu kita siasati langkah-langkah untuk mencapai hasil program yang sesuai dengan keinginan. Misalnya di dalam bahasa pemrograman tidak ada fungsi/prosedur bawaan yang mengkonversi nilai nominal mata uang menjadi bentuk terbilang. Dengan menggunakan strategi/algoritma kita dapat memecahkan persoalan tersebut dan dapat membuat programnya. Namun demikian, awal pembuatan algoritma tidak perlu memperhatikan statemen yang ada di suatu bahasa pemrograman karena algoritma bersifat umum.


·         Flowchart

Untuk menggambarkan sebuah algoritma yang terstruktur dan mudah dipahami oleh orang lain (khususnya programmer yang bertugas mengimplementasikan program), maka dibutuhkan alat bantu yang berbentuk Diagram Alir (Flowchart). Diagram alir ini akan menunjukkan alur di dalam program secara logika. Diagram alir ini selain dibutuhkan sebagai alat komunikasi, juga diperlukan sebagai dokumentasi. Dan sebelum lebih jauh memahami komponen-komponen diagram alir, maka perlu kiranya disampaikan aturan-aturan dalam perancangan diagram alir tersebut, yaitu :

Diagram alir digambarkan dengan orientasi dari atas ke bawah dan dari kiri ke kanan;

Setiap kegiatan/proses dalam diagram alir harus dinyatakan secara eksplisit;

Setiap diagram alir harus dimulai dari satu Start State dan berakhir pada satu atau lebih Terminal Akhir/Terminator/Halt State;

Gunakan Connector dan Off-Page Connector state dengan label yang sama untuk menunjukkan keterhubungan antar path algoritma yang terputus/terpotong, misalnya sebagai akibat pindah/ganti halaman.


Selain dengan Flowchart, untuk menuliskan sebuah algoritma dapat pula digunakan Pseudo-Code, yaitu suatu teknik penulisan algoritma dengan menggunakan sebanyak mungkin komponen-komponen dari salah satu bahasa tingkat tinggi (suatu bahasa pemrograman yang masih memerlukan unit kompilator untuk mengeksekusi program agar dapat berjalan). Dalam arti penulisan algoritma dengan Pseudo-Code ini hampir menyerupai sebuah program, tetapi tanpa menyertakan atribut-atribut program (seperti tipe data, dll), hanya menuliskan proses intinya saja.

Berikut ini adalah simbol-simbol state yang digunakan untuk menggambarkan algoritma dalam bentuk diagram alir. Sedangkan keterangan yang terdapat di bawah masing-masing simbol adalah kegunaan dari simbol-simbol yang bersangkutan.




Algoritma & Struktur Data I
Pengenalan C++
  • Definisi Algoritma
Algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan logis.
Kata logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.

  • Bahasa Pemrograman
Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa pemrograman adalah : Pascal, C++, Basic, dll.
Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen.

Pseudo Code
  • Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku.
  • Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman.
  • Akan tetapi,  flowchart lebih mudah dimengerti oleh programmer pemula.
  • Pseudo code sangat mudah diimplementasikan  ke dalam kode program dibandingkan dengan flowchart.

      Contoh Pseudo Code
  • Mulai
  • Masukkan sebuah angka
  • Masukkan sebuah angka dan tampilkan
  • Ambil angka yang sebelumnya dan tampilkan
  • Selesai

         C++ dan C
  • C++ diciptakan satu dekade setelah C oleh Bjarne Stroustrup pada tahun 1983.
  • Pada mulanya C++ disebut “a better C”.
  • Nama C++ sendiri diberikan oleh Rick Mascitti pada musim panas 1983.
  • Adapun tanda ++ berasal dari nama operator penaikan pada bahasa C.
  • Keistimewaan yang sangat berarti pada C++ adalah karena bahasa ini mendukung pemrograman yang berorientasi objek (PBO) atau OOP / Object Oriented Programming.

Bentuk Umum Penulisan Kode Program




Contoh Program
#include
void main(){
    cout<<"Hello World";
}



Tanpilannya akan seperti dibawah :
Hello Word
Saya Kuliah di STIKOM Bali
Saya Belajar C++

Fungsi main()
  • Program C++ tidak dapat dipisahkan dari fungsi karena fungsi adalah salah satu dasar penyusun blok pada C++.
  • Sebuah program C++ minimal mengandung sebuah fungsi yaitu fungsi main().
  • Fungsi ini menjadi awal dan akhir eksekusi program C++.
  • main adalah nama judul fungsi.
  • Dimulai dari tanda { sampai dengan } disebut tubuh fungsi, atau semua yang terletak didalam tanda {} disebut blok.
  • Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi.
  • Kata void yang mendahului main() dipakai untuk menyatakan bahwa fungsi ini tidak mempunyai nilai balik (return value).
  • Di dalam tanda {} bisa terkandung sejumlah unit yang disebut pernyataan (statement). 
 Pernyataan
  • Baris pernyataan merupakan sebuah pernyataan yang digunakan untuk menampilkan tulisan yang terletak pada sepasang tanda petik ganda ke layar.
  • Tulisan yang terletak pada sepasang tanda petik ganda disebut string.
  • Setiap pernyataan harus diakhiri dengan tanda titik koma (;).
Mengenal cout
  • Pengenal cout merupakan sebuah obyek yang disediakan oleh C++ untuk mengarahkan data ke standard output (normalnya layar).
  • Tanda << merupakan operator yang disebut operator “penyisipan / peletakan”.
  • Operator ini mengarahkan operand (data) yang di sebelah kanannya ke obyek yang dikirinya.
  • Pada contoh diatas, string ”Hello World” diarahkan ke cout yang memberikan hasil berupa tampilan string tersebut ke layar.
 #include
  • Baris tersebut bukanlah sebuah pernyataan, itulah sebabnya tidak diakhiri dengan tanda titik koma.
  • Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain (iostream.h) saat program dikompilasi.
  • File-file berakhiran .h disebut file header, yaitu file-file yang berisi berbagai deklarasi seperti fungsi, variabel, dll.
  • Pada contoh, file iostream.h perlu disertakan pada program yang melibatkan obyek cout.
  • Karena file iostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai obyek yang berhubungan dengan masukan dan keluaran pada stream.
clrscr()
  • Pernyataan clrscr() digunakan untuk membersihkan layar.
    Jika menggunakan pernyataan tersebut, maka baris berikut perlu disertakan.
    #include
Komentar

  • Komentar merupakan bagian penting dalam suatu program.
  • Komentar dapat berupa :
  • Tujuan / fungsi program
  • Saat program dibuat atau direvisi
  • Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.
  • Pada C++ komentar diawali dengan dua tanda garis miring (//). Ini digunakan untuk komentar pada satu baris.
  • Selain itu, komentar dapat juga diawali dengan tanda /* dan diakhiri dengan tanda */. Ini digunakan untuk komentar yang terdiri dari beberapa baris.

 


Menjalankan Program
  • Program C++ biasa ditulis dengan nama ekstensi .CPP (dari kata C plus plus).
  • Agar program ini dapat dijalankan (dieksekusi), program harus dikompilasi terlebih dahulu dengan menggunakan kompiler C++.
  • Pada saat pengkompilasian, program sumber (.CPP) bersama file-file header (berekstensi .H atau .HPP) akan diterjemahkan oleh kompiler C++ menjadi kode obyek (.OBJ)
  • File obyek ini berupa file dalam format biner (berkode 0 dan 1).
  • Selanjutnya file obyek ini bersama-sama dengan file obyek yang lain serta file pustaka (.LIB) dikaitkan menjadi satu oleh linker. Hasilnya berupa file yang bersifat executable.
  • File inilah yang bisa dijalankan langsung dari sistem operasi secara langsung.

Variable, Tipe Data, Expresi & Penugasan
Identifier
  • Aturan pemberian nama suatu pengenal/identifier :
  • Nama pengenal harus dimulai dengan karakter berupa huruf (a…z, A…Z) atau karakter garis bawah ( _ )
  • Karakter berikutnya dapat berupa huruf, angka (0...9) atau karakter garis bawah ( _ )
  • Tidak boleh sama denga reserverd word (nama – nama yang sudahdigunakan dalam bahasa C++) seperti char, int, float, double, void, dll.
  • Panjang karakter maksimum adalah 32 karakter
  • Bersifat case sensitive (huruf besar dan huruf kecil dibedakan)

Tipe Data



 Konstanta
Menggunakan (#define)
#define phi 3.14159265

Menggunakan (const)
const int lebar = 100;
const char tab = ‘\t’;

Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakilisuatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan.
Bentuk umum pendeklarasian suatu variable adalah :
tipe_data nama_variabel;

contoh
int x; // Deklarasi x bertipe integer
char y, nim[10]; // Deklarasi variable bertipe char
float nilai1; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer
char *p; // Deklarasi pointer p bertipe char

Operator
Operator Assign
=
Operator Majemuk
+=, -=, *=, /=, %=, <<=, >>=, &=, |=
Operator Penaikan dan Penurunan
++ dan –
Operator Relasional
==, !=, >, <, >=, <=
Operator Logika
!, &&, ||

Contoh Program






Function and Procedure
  • Procedure dan Function disebut juga subroutine, merupakan blok statement yang dapat dipanggil dari lokasi yang berbeda di dalam program.
  • Yang membedakan antara function dan procedure yaitu: suatu function jika dijalankan/dipanggil akan mengembalikan suatu nilai.

Kategori Function dalam C/C++
  • Standard Library Function
  • clrscr(), printf(), getch()
  • Programmer-Defined Function
  • Adalah function yang dibuat oleh programmer sendiri.
  • Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama, dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang kemudian juga di-include-kan untuk penggunaanya.

Bentuk Umum Fungsi

tipe_data nama_fumgsi(arguman 1, argument n)
{
    Variabel_lokal;
    Statement_1;
    Statement_2;
    ...
    return (variabel);
}

Parameter Fungsi
  • Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
  • Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.

Contoh penerapan function dengan tidak memberikan nilai balik (void)

  

Contoh penerapan function dengan  memberikan nilai balik.

 




Fungsi Rekursif





Struktur Kontrol dan Perulangan


Kondisional

Struktur If




Perulangan






Array & String

Solusi
Untuk mempermudah membuat variable dengan karakter/sifat yang sama gunakan:
Array
Bentuk umum pembuatan variable Array:
Tipe_data nama_variabel [jumlah];
Contoh:
        int nilai[5];
        atau
        int nilai[10];

Mengisi Nilai Pada Array
Dengan cara langsung
     int nilai [5]={2,3,5,12,6};
Atau bisa juga:
int nilai [5];
nilai[0]=2;
nilai[1]=3;
nilai[2]=5;
nilai[3]=12;
nilai[4]=6;
Ingat index array dimulai dari nol(0)

Mengakses Niali Array
Untuk mengakses nilai pada array caranya:

nama_array[index];

Contoh:

nilai[3]; // menghasilkan nilai 12

Menampilkan semua isi array:
        Dapat dilakukan dengan cara menggungakan perulangan (looping)

Contoh :
   
for (int i=0;i<5;i++){
    cout<<<“  ”;
}






   


PESAN DAN KESAN :
PESAN :
•    Untuk pihak Kampus kami mohon agar segera bisa memaksimalkan sarana dan prasarana yang ada, karena kami ingin belajar dengan tenang dan bisa memahami semua materi yang diberikan dengan nyaman.
•    Untuk Dosen pengajar, semua yang dipaparkan sudah maksimal, kami ucapkan terimakasih atas semua materi dan bingbingan yang diberikan selama ini.

KESAN – KESAN :
•    Saya merasa senang mendapat kemudahan untuk menuntut ilmu di-STIKOM. Karena dengan adanya kelas Eksekutif saya bisa mengatur waktu kerja dan kuliah.
•    Saya jadi mampu memahami logika berpikir komputer, memahami prinsip kerja program, memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan, dan mampu menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo code) dan dilengkapi dengan diagram alir ( flow chart ) .

Tidak ada komentar:

Posting Komentar