Showing posts with label Algoritma. Show all posts
Showing posts with label Algoritma. Show all posts

Monday, February 18, 2013

Operasi Pengurangan Pada Matriks

Untuk pengurangan pada pada ambil kita bisa ambil contoh matriks dan flowchartnya dari Operasi Penjumlahan Pada Matriks, tetapi kira rubah operasi penjumlahan (+) pada materi tersebut menjadi operasi pengurangan (-).

Kita dapat merubah coding menjadi seperti ini:
  1. #include<iostream.h>
  2. using namespace std;
  3. int main(){
  4.     int I,J;
  5.     int A[10][10];
  6.     int B[10][10];
  7.     int C[10][10];
  8.     cout<<"Input Matriks A = "<<endl;
  9.     for(I=1; I<=3; I++){
  10.         for(J=1; J<=3; J++){
  11.             cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
  12.             cin>>A[I][J];
  13.         }
  14.     }
  15.     cout<<endl;
  16.     cout<<"Input Matriks B = "<<endl;
  17.     for(I=1; I<=3; I++){
  18.         for(J=1; J<=3; J++){
  19.             cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
  20.             cin>>B[I][J];
  21.         }
  22.     }
  23.     cout<<endl;
  24.     cout<<"Hasil Penjumlahan Matriks A dan B = "<<endl;
  25.     for(I=1; I<=3; I++){
  26.         for(J=1; J<=3; J++){
  27.             C[I][J]=A[I][J]-B[I][J];
  28.             cout<<C[I][J]<<" ";
  29.         }
  30.         cout<<endl;
  31.     }
  32.     system("Pause");
  33.     return 0;
  34. }
Berikut adalah hasil running dari coding di atas:

Operasi Penjumlahan Pada Matriks

Perhatikan Matriks dibawah ini :
Operasi Matriks diatas adalah operasi penjumlahan dua buah matriks dengan dimensi yang sama yaitu 3x3. Di bawah ini adalah Algoritmanya.
Dari flowchart diatas kita dapat membuat program C++ dengan aplikasi MinGW. Berikut adalah potongan code programnya.
  1. #include<iostream.h>
  2. using namespace std;
  3. int main(){
  4.     int I,J;
  5.     int A[10][10];
  6.     int B[10][10];
  7.     int C[10][10];
  8.     cout<<"Input Matriks A = "<<endl;
  9.     for(I=1; I<=3; I++){
  10.         for(J=1; J<=3; J++){
  11.             cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
  12.             cin>>A[I][J];
  13.         }
  14.     }
  15.     cout<<endl;
  16.     cout<<"Input Matriks B = "<<endl;
  17.     for(I=1; I<=3; I++){
  18.         for(J=1; J<=3; J++){
  19.             cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
  20.             cin>>B[I][J];
  21.         }
  22.     }
  23.     cout<<endl;
  24.     cout<<"Hasil Penjumlahan Matriks A dan B = "<<endl;
  25.     for(I=1; I<=3; I++){
  26.         for(J=1; J<=3; J++){
  27.             C[I][J]=A[I][J]+B[I][J];
  28.             cout<<C[I][J]<<" ";
  29.         }
  30.         cout<<endl;
  31.     }
  32.     system("Pause");
  33.     return 0;
  34. }
Berikut ini hasil dari dari code program diatas.

Sunday, February 17, 2013

Operasi Matriks Dengan Array Multidimensi

Gambar disamping menunjukkan matrik dua dimensi yang terdiri dari 4 baris dan 3 kolom. Atau biasa dinotasikan sebagai A4x3.

Hal iniidentik dengan array multidimensi dengan yangkita definisikan sebagai A(3, 2). Perhatikan kembali angka pada indeks array selalu lebih kecil satu dari jumlah sesungguhnya karena indeks selalu dimulai dengan 0.


Berikut adalah Algoritma untuk matrik diatas:
Dari Algoritma diatas kita dapat membuat programnya, silahkan dicoba code program berikut pada aplikasi MinGW anda.
  1. #include<iostream.h>
  2. using namespace std;
  3. int main(){
  4.     int I,J;
  5.     int A[10][10];
  6.     for(I=1; I<=4; I++){
  7.         for(J=1; J<=3; J++){
  8.             cout<<“Nilai ["<<I<<"]["<<J<<"] = ";
  9.             cin>>A[I][J];
  10.         }
  11.         cout<<endl;
  12.     }
  13.     cout<<endl;
  14.     system("Pause");
  15.     return 0;
  16. }

Saturday, February 16, 2013

Perbedaan Array Satu Dimendi dengan Dua Dimensi

Array satu dimensi sangat baik untuk menyimpan data sejenis yang berurutan, sedangkan array dua dimensi mempunyai dua indeks, indeks yang pertama menunjukan baris dan yang ke dua menunjukan kolom.

Keuntungan Menggunakan Array 2 Dimensi.

Keuntungan menggunakan array secara konseptual, array lebih mudah dikelola karena mempunyai dua indeks.

Thursday, February 14, 2013

Pengertian Array Dua Dimensi dan Array Multidimensi

Pengertian Array Dua Dimensi
  • Array dua dimensi dapat dipandang sebagai gabungan array satu dimensi.
  • Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom.
  • Bentuknya dapat berupa matriks atau tabel.
  • Deklarasi array :
    Tipe_array nama_array[baris][kolom];
  • Contoh :
    Int X[3][4];
Pengertian Array Multidimensi
  • Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua.
  • Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi dua.
  • Bentuk umumnya yaitu :
    tipe_array nama_array[ukuran1][ukuran2]…[ukuranN];
  • Contoh :
    float X[2][4][3];

Saturday, July 21, 2012

Algoritma Dengan Beberapa Notasi Algoritma

Ada 3 cara penulisan Algoritma yaitu :
  1. Structured English (SE).
    SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah bahasa inggris namun kita dapat memodifikasi dengan bahasa indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI).

    berikut adalah contohnya:

    Contoh 1. Algoritma menghitung luas segitiga.
    1. Start
    2. Baca data alas dan tinggi
    3. Luas adalah alas kali tinggi kali 0.5
    4. Tampilkan luas
    5. Stop

    Contoh 2. Hasil perbaikan algoritma perhitungan luas segitiga.
    1. Start
    2. Baca data alas dan tinggi
    3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop.
    4. Luas adalah alas kali tinggi kali 0.5
    5. Tampilkan luas.
    6. Stop
  2. Pseudocode.
    Pseudocode mirip dengan SE. Karena kemiripan ini SE dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan  atau menyerupai, sedangkan Code menunjuk pada code program. Sehingga Pseudocode adalah code yang mirip dengan intruksi kode program yang sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FOTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan Pseudocode yang sering digunakan. Kadang-kadang orang menyebutnya Pseudocode sebagai PASCAL-LIKE Algoritma.
    Apabila contoh 1 diatas ditulis dengan Pseudocode berbasis bahasa BASIC akan tampak seperti  pada contoh berikut ini.

    Contoh 3. Pseudocode.
    1. Start
    2. Read alas, tinggi
    3. Luas = 0.5 * alas * tinggi
    4. PRINT luas
    5. Stop
  3. Flowchart.
    Flow chart atau bagan alir adalah skema/bagan (chart) yang menunjukan aliran (Flow) didalam suatu program secara algoritma. Flowchart meruapakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi-notasi tertentu. Secara lebih detil bagian ini akan dibahas pada bagian berikutnya.
    Pada flowchart ada beberapa simbol penting yang digunakan untuk membuat algoritma sebagaimana tercantum pada gambar dibawah.
     
    Gambar 1. Terminator
    Notasi diatas disebut Terminator yang berarti digunakan untuk menunjukkan awal dan akhir suatu algoritma.

     
    Gambar 2. Data
    Notasi diatas disebut Data yang digunakan untuk mewakili data input atau output atau menyatakan operasi pemasukan data dan pencetakan hasil.





     
    Gambar 3. Process
    Notasi diatas disebut Process yang digunakan untuk mewakili suatu proses.

     
    Gambar 4. Decision
    Notasi diatas disebut Decision yang digunakan untuk suatu pemilihan, penyeleksian kondisi di dalam suatu program.
     
    Gambar 5. Preaparation
    Notasi diatas disebut Preparation yang digunakan untuk memberi nilai awal, nilai akhir, penambahan/pengurangan bagi suatu variable counter.
     
    Gambar 6. Predefined Process
    Notasi diatas disebut Predefined Process yang digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub-prosedur, fungsi).
     
    Gambar 7. Connector
    Notasi ini disebut Connector yang digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau haraman berikutnya.

     
    Gambar 8. Arrow
    Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus data atau aliran data dari proses satu ke proses lainnya.

    Program Flowchart dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika dan biasanya dipersiapkan oleh seorang analis system. Sedangkan bagan alir program komputer terinci digunakan untuk menggambarkan instruksiinstruksi program komputer secara terinci dan biasanya dipersiapkan oleh seorang programmer.

    Apabila Contoh 1 diatas dibuat program Flowchartnya maka tampak pada gambar dibawah:
     
    Gambar 9. Program Flowchart

Tuesday, July 17, 2012

Aturan Penulisan Teks Algoritma

Teks Algoritma merupakan penjelasan atau deskripsi langkah-langkah dari penyelesaian masalah yang tersusun secara sistematis

Susunan teks Algoritma
  1. Judul Algoritma.
    Merupakan bagian atas dari teks algoritma yang menjelaskan tentang fungsi Algoritma tersebut.
  2. Deklarasi.
    Merupakan bagian untuk mendefinisikan nama variabel, konstanta, fungsi beserta tipe data yang akan digunakan.
  3. Deskripsi.
    Merupakan bagian inti algoritma yang menjelaskan langkah-langkah penyelesaian algoritma tersebut.
Contoh pembuatan susunan teks Algoritma:

Hit_5_Faktorial
     //merupakan judul dari Algoritma.
Deklarasi
     //mengenalkan variabel "i" dan "fak" bertipe bilangan bulat.
     i : integer
     fak : integer
Deskripsi
     i <-- 0
     fak <-- 1
     while (i < 5)
          i <-- i + 1
          fak <-- fak * i
     end while
     output (fak)

Komentar biasanya ditulis dengan kurung kurawal {}.

Sumber :
Herry Dwi Y. 2009. Aturan Penulisan Teks Algoritma Pertemuan 3. Bandung.

Algoritma Pemrograman Dasar

Pada materi ini akan kita akan membahas tentang algoritma pemrograman tinngkat dasar. Bahasa pemrograman yang akan kita gunakan adalah bahasa pemrograman C++ dan tools atau software yang akan kita gunakan adalah MinGW Developer Studio 2.05. 
Jika kalian ingin belajar pemrograman kalian harus mengerti dahulu dasar-dasarnya, seperti Algoritma, karena algoritma adalah jantung dari ilmu komputer.

A. Pengenalan, Asal Usul dan Pentingnya Algoritma

Algoritma adalah jantung ilmu komputer dan informatika. Banyak cabang dari ilmu komputer yang diacu dalam terminologi algoritma. Algoritma berasal dari kata algorism yang berarti proses menghitung.

Kata algorism diperkenalkan oleh Ahli Matematika : Abu Ja'far Muhammad Ibnu Musa Al Khawarizmi. Seorang ahli matematika, astronomi, astrologi dan geografi yang berasal dari persia. Lahir sekitar tahun 780 di khwarizm (sekarang Khiva, Uzbekistan) dan wafat sekitar tahun 850 di Baghdad. Hampir sepanjang hidupnya, ia bekerja sebagai dosen di Sekolah Kehormatan di Baghdad.

Buku pertamanya adalah Al-Jabar, yaitu membahas solusi sistematik dari linear dan notasi kuadrat. Sehingga ia disebut sebagai Bapak ALjabar.

Definisi Algoritma.
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

Komponen yang harus ada dalam merancang Algoritma :
  1. Komponen masukan : terdiri dari pemilihan variabel, jenis variabel, tipe variabel, konstanta dan parameter (dalam fungsi)
  2. Komponen keluaran : merupakan tujuan dari perancanga Algoritma dan program. Permasalahan yang diselesaikan dalam algoritma dan program harius ditampilkan dalam kompnen keluaran. Karakteristik keluaran yang baik adalah menjawab permasalahan dan tampilan yang ramah.
  3. Komponen proses : merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan semantik), rumusan, metode (rekusi, perbandingan, penggabungan, pengurangan, dll).
Sumber :
Oky Dwi Nurhayati. Dasar Algoritma. Program Studi S1 Sistem Komputer. Universitas Dipenegoro (.pdf)