Thursday, February 21, 2013

bagian Algoritma

Bagian Judul
Judul adalah bagian yang terdiri atas nama program dan penjelasan (spesifikasi) tentang program tersebut. Judul diawali dengan kata kunci PROGRAM dan nama program X.
Contoh :
PROGRAM HelloWorld
{ Program untuk mencetak "Hello, world"
Masukan program ini tidak ada. Keluarannya adalah tulisan 'Hello, world' tercetak di layar
}

Bagian Deklarasi
Bagian ini digunakan untuk mengumumkan semua nama yang dipakai di dalam algoritma beserta propertinya (misalnya type). Nama tersebut bisa berupa nama konstanta, nama peubah, nama tipe, nama prosedur dan nama fungsi. Semua nama yang dipakai di dalam algoritma harus dikenali sebelum mereka digunakan.
Contoh : (untuk Program FahrenheitCelciu)
DEKLARASI
F,C : real
x,y, step : integer

F,C,x,y, dan step adalah nama-nama perubah yang digunakan di dalam bagian algoritma. Nama-nama peubah ini berserta tipenya harus diumumkan di bagian deklarasi sebelum mereka digunakan.

Bagian Algoritma
Inilah bagian inti dari sebuah program. Bagian ini berisi instruksi-instruksi pemecahan masalah dalam notasi pseudo-code.

Program HelloWorld mengandung bagian algoritma yang hanya berisi satu baris instruksi saja :
ALGORITMA
     write("Hello, world")

Program FahrenheitCelcius mengandung bagian algoritma yang berisi beberapa baris instruksi :
ALGORITMA
     read(x,y,step)
     F <- x
     while F <= y do
            C=5/9 * (F-32)
            write(F,C)
            F <- F + step
     endwhile

Wednesday, February 20, 2013

Penerapan Algoritma Bubble Sort Pada C#


Pengertian dan Contoh Penerapan Algoritma Bubble Sort Pada C#

Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending). Di setiap mata kuliah algoritma atau struktur data, pasti ketemu sama algoritma sederhana yang satu ini. Algoritma Bubble Sort adalah algoritma sorting paling sederhana. Kelebihan dari algoritma ini adalah mudah dipahami dan yang paling simpel. Kekurangannya juga banyak sekali, salah satunya ialah proses akan berhenti jika tidak adanya pertukaran dalam satu iterasi. Sesuai dengan namanya, proses pengurutannya mirip seperti gelembung. Terdapat proses pertukaran atau istilah kerennya swapping.
Terus terang, saya sebenarnya belum mengambil mata kuliah struktur data. Lantaran di semester lalu, kuota sks yang saya miliki kurang memenuhi untuk mengambil mata kuliah yang kata teman-teman saya lumayan bikin puyeng. Karena masih banyak algoritma sorting data dan materi yang lainnya yang harus dipelajari. Dan rencanya, semester depan ini saya akan mengambil mata kuliah
maut ini. Maka dari itu, dari sekarang saya sudah belajar terlebih dahulu, biar gakkeblinger  . Nah, tadi sore saya sudah sempat membuat sebuah contoh aplikasi penerapan dari algoritma Bubble Sort dengan C#. Ternyata lumayan mudah juga penerapannya. Kira-kira tampilan kode programnya seperti di bawah ini :
public static void Main(string[] args) {
Console.Write(“Masukkan banyak elemen array = “);
int n = Convert.ToInt32(Console.ReadLine());
int[] array_sort = new int[n];
for (int i = 0; i < n; i++)            {
Console.Write(“Elemen ke-” + (i + 1) + ” = “);
array_sort[i] = Convert.ToInt32(Console.ReadLine());
}
for (int j = 1; j <= n – 1; j++){
for (int k = 0; k <= n – 2; k++) {
if (array_sort[k] < array_sort[k + 1]){
int temp = array_sort[k];
array_sort[k] = array_sort[k + 1];
array_sort[k + 1] = temp;
}
}
}
Console.WriteLine(“”);
Console.WriteLine(“Diurutkan secara Descending”);
for (int i = 0; i < n; i++)            {
Console.WriteLine(array_sort[i]);
}
Console.ReadKey(true);
}
PROSEDUR dan FUNGSI REKURSIF


                      Prosedur dan fungsi merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Manfaat penggunaan sub program antara lain adalah :
  Prosedur dan fungsi merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Manfaat penggunaan sub program antara lain adalah :
  1. meningkatkan readibility, yaitu mempermudah pembacaan program
  2. meningkatkan modularity, yaitu memecah sesuatu yang besar menjadi modul-modul atau bagian-bagian yang lebih kecil sesuai dengan fungsinya, sehingga mempermudah pengecekan, testing dan lokalisasi kesalahan.
  3. meningkatkan reusability, yaitu suatu sub program dapat dipakai berulang kali dengan hanya memanggil sub program tersebut tanpa menuliskan perintah-perintah yang semestinya diulang-ulang.
adalah Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus memiliki :
  1. kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition)
  2. pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)
Secara umum bentuk dari sub program rekursif memiliki statemen kondisional :
if kondisi khusus tak dipenuhi
then panggil diri-sendiri dengan parameter yang sesuai
else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi
Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang-kadang sub program rekursif menjadi pilihan kita bila memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori, waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien .
Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang).

Contoh sub program rekursif dalam bahasa Pascal.
  • Contoh sederhana

      1. PROCEDURE TULIS_1(banyak : integer;kata : string);
        begin
        if banyak > 1 then TULIS_1(banyak-1,kata);
        writeln(kata, banyak:5);
        end;

        OUTPUT (misal dipanggil dengan TULIS_1(5,"Cetakan ke "))

        Cetakan ke 1
        Cetakan ke 2
        Cetakan ke 3
        Cetakan ke 4
        Cetakan ke 5  

        Bandingkan prosedur dan outputnya di atas dengan prosedur di bawah ini!

        PROCEDURE TULIS_2(banyak : integer;kata : string);
        begin
        writeln(kata, banyak:5);
        if banyak > 1 then TULIS_1(banyak-1,kata);
        end;

        OUTPUT (misal dipanggil dengan TULIS_2(5,"Cetakan ke "))

        Cetakan ke 5
        Cetakan ke 4
        Cetakan ke 3
        Cetakan ke 2
        Cetakan ke 1  






    Array 2 dimensi


    Pengantar tentang Array 2 Dimensi
    C sebenarnya tidak mempunyai array multi dimensi.
    Array multi dimensi diakali dengan menggunakan array
    dari array (array of array).
    Array multi dimensi yang paling sederhana adalah
    array dua dimensi.
    Contoh :
    int dd[4][7]Pendeklarasian Array Dimensi 2
    Bentuk umum pendeklarasian array dua dimensi:
    type_array nama_array[rowsize][colsize]
    Dimana:
    - type_array adalah tipe data dari array
    - nama_array adalah nama array.
    - rowsize adalah ukuran baris dari array.
    - colsize adalah ukuran kolom dari array.
    Contoh:  int matrix[3][3];
    float coordinat[10][10];Contoh Pendeklarasian Array Dimensi 2
    int a2[5][7]; /* Correct */
    float B[5][5];    /* Correct */
    char letter[5][3];    /* Correct */
    char letter[0][0] = 'a'; /* Correct */
    int a2[5, 7]; /* WRONG */
    int a2[0, 4] = '6'; /* WRONG */Inisialisasi Nilai Array Dimensi 2
    Contoh:
    int a[2][3] = {8,4,6,3,4,10};
    char t[3][3] = {
    {'1','2','3'},
    {'4','5','6'},
    {'7','8','9'}
    };
    6
    4
    4
    3
    8
    10
    a
    t#include <stdio.h>
    int main(void)
    {
    char t[3][3] = {
    {'1','2','3'},
    {'4','5','6'},
    {'7','8','9'}
    };
    printf("value of t[0][0] : %c\n", t[0][0]);
    printf("value of t[0] : %c\n", *t[0]);
    printf("value of t : %c\n", **t);
    return 0;
    }
    * Adalah lambang pointer,
    yang akan dibahas pada
    pertemuan selanjutnya
    Contoh Array Dua DimensiAlokasi Memori Array Dimensi 2
    Array Dua Dimensi  ⇔ Array Satu Dimensi
    Bila dideklarasi sebuah array sebagai berikut:  
    int dd[3][4]
    Array dd tersebut sebenarnya dialokasikan secara berurutan
    dalam bentuk array satu dimensi:
    dd [3][4]Alamat Memori (2)
    Untuk array dua dimensi penentuan slot dapat
    ditentukan dengan rumus:
    dd[2][3]  = 300 + sizeof(int) * 2 * 4 + sizeof(int) * 3
    asumsikan sizeof(int) = 4 byte, maka
    dd[2][3] = 300 + 4 * 2 * 4 + 4 * 3
    = 344Indeks (subscript) dari Array
    Indeks atau subscript dari array dalam C selalu dimulai
    dengan 0 sampai dengan ukuran array dikurang 1.
    Contoh: float data[5][5];
    Indeks dari array data adalah:#include <stdio.h>
    int main(void){
    int t, i, num[3][4];
    for(t=0; t<3; ++t)
    for(i=0; i<4; ++i)
    num[t][i] = (t*4)+i+1;
    /* print keluaran */
    for(t=0; t<3; ++t) {
    for(i=0; i<4; ++i)
    printf("%3d ", num[t][i]);
    printf("\n");
    }
    return 0;
    }
    Contoh Store Data ke Dalam ArrayContoh Pengurutan DataContoh Penjumlahan Matrix
    Menggunakan ArrayReferences
    http://www.mycplus.com/tutorials/c-programmingtutorials/loops/
    http://www.tenouk.com/Module6a.html
    http://www.tenouk.com/clabworksheet/labworksheet7.html
    http://bytes.com/serversidescripting/c++/tutorials/c++conditi
    onalstatements/index.html
    www.informatika.unsyiah.ac.id/tfa
    http://www.eskimo.com/~scs/cclass/int/sx9.html
    http://www.java2s.com/Code/C/Data-Type/TwoDimensionalarrays.htm

    PEngertian aray 1 dimensi


    Program Array 1 DIMENSI

    ARRAY 1 DIMENSI

    Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.
    Definisi Array 1 dimensi :
    Array 1 Dimensi , array adalah hal yang paling penting dalam setiap bahasa pemrograman. Menurut definisi, array adalah alokasi memori statis. Ini mengalokasikan memori untuk tipe data yang sama secara berurutan. Ini berisi beberapa nilai jenis yang sama. Hal ini juga menyimpan nilai-nilai dalam memori pada ukuran tetap.
    Array juga mempunyai definisi lain yaitu struktur data yang statis yang mempunyai 1 nama tetapi memiliki banyak tempat. Setiap tempat harus dibedakan, untuk membedakannya dibutuhkan penunjuk, pentunjuk dapat berupa karakter(char) atau integer. Sekali disimpan dalam penunjuk yang sama(berbentuk indeks), maka isinya tidak akan hilang kecuali indeksnya diisi oleh nilai yang lain.
    Cara pendeklarasian Array setiap bahasa Program berbeda tapi semuanya memiliki karakter yang sama . . .
    deklarasi di csharp dan java:
    tipedata [] nama variabel = new nama variabel [jumlahElement]
    kalo di C++
    tipedata namaVariabel [jumlahElemen];

    INI ADALAH CONTOH PROGRAMNYA YANG MENGGUNAKAN C#

    namespace Array1Dimensi
     {
     class Program
     {
     public byte banyak; //property
    
    public static void Main(string[] args)
     {
     Arr arre = new Arr(); //deklarasi Class Arr
     arre.Masuk(); //panggil method Masuk dr class Arr
    
    Console.WriteLine();
     Console.Write("Press any key to continue . . . ");
     Console.ReadKey(true);
     }
     }
     class Arr
     {
     public void Masuk()
     {
     Program pro = new Program(); //deklarasi Class Program
     string [] nama;  //deklarasi Array
    
    Console.Write("masukkan banyak elemen array = ");
     pro.banyak = Convert.ToByte(Console.ReadLine()); //input mengunakan property Class program
     Console.WriteLine();
    
    nama = new string[pro.banyak]; //inisialisasi array
    
    //mengisi Array
     for (byte i = 0; i<pro.banyak; i++)
     {
     Console.Write("Masukkan nama mahasiswa ke {0} = ",i+1);
     nama[i] = Console.ReadLine();
     }
    
    Console.WriteLine();
    
    //menampilkan Array
     for (byte i = 0; i<pro.banyak; i++)
     {
     Console.WriteLine("Nama maha siswa ke {0} adalah = {1}",i+1,nama[i]);
     }
     }
     }
     }
    
    

    SEKARANG KITA LIAT HASILNYA SEKARANG BAGAIMANA YAA

    KITA COBA BUAT PROGRAM INI DIJADIKAN C++ YA..

    #include <cstdlib>
     #include <iostream>
    
    using namespace std;
    
    class Arr
     {
     private : int banyak; //property
     public : void Masuk()
     {
     cout<<"masukkan banyak elemen array = ";
     cin>>banyak;
     cout<<endl;
    
    string nama[banyak]; //deklarasi dan inisialisasi array
     //mengisi array
     for (int i = 0; i<banyak; i++)
     {
     cout<<"Masukkan nama mahasiswa ke "<<i+1<<" = ";
     cin>>nama[i];
     }
     cout<<endl;
     //menampilkan isi array
     for (int i = 0; i<banyak; i++)
     {
     cout<<"Nama mahasiswa ke "<<i+1<<" adalah "<<nama[i]<<endl;
     }
     }
     };
    
    int main(int argc, char *argv[])
     {
     Arr arre;    //deklarasi Class Arr
     arre.Masuk();   //panggil Method Masuk dari Class Arr
    
    cout<<endl;
     cout<<endl;
     system("PAUSE");
     return EXIT_SUCCESS;
     }
    
    

    NAH, INI DIA HASILNYA… HEHEHEE

    NGGAK LENGKAP RASANYA KALO NGGAK PAKEK BAHASA PROGRAM JAVA YA,KITA BUAT SEKARANG

    package javaapplication2;
    import java.util.Scanner;
    
    public class Main
    {
    public byte banyak;  //property
    
    public static void main(String[] args)
    {
    Arr arre = new Arr(); //deklarasi Class Arr
    arre.Masuk();  //panggil method Masuk dr class Arr
    }
    
    }
    
    class Arr
    {
    public void Masuk()
    {
    Scanner baca = new Scanner(System.in);
    String [] nama;  //deklarasi Array
    Main pro = new Main(); //deklarasi Class Program
    
    System.out.print("masukkan banyak elemen array = ");
    pro.banyak = baca.nextByte(); //input mengunakan property Class program
    
    nama = new String[pro.banyak]; //inisialisasi Array
    
    System.out.println();
    
    //mengisi Array
    for (byte i = 0; i<pro.banyak; i++)
    {
    int s = i+1;
    System.out.print("masukkan nama maha siswa ke "+s+" = ");
    nama[i] = baca.next();
    }
    
    System.out.println();
    
    //menampilkan Array
    for (byte i = 0; i<pro.banyak; i++)
    {
    int s = i+1;
    System.out.println("nama maha siswa ke "+s+" adalah "+nama[i]);
    }
    }
    }
    
    

    MAKA,DAPAT DILIHAT HASILNYA AKAN SEPERTI INI

    NAH, SEKARANG SAYA AKAN MENAMBAHKAN CONTOH YANG KE-2 TENTANG “ARRAY 1 DIMENSI” KE DALAM 3 BAHSA PEMOGRAMAN YAITU: C# ,C++, DAN JAVA

    INI ADALAH CONTOH PROGRAM YANG SAYA APLIKASIKAN KE DALAM BAHASA C#, KITA COBA SIMAK BARENG-BARENG YAA……

    using System;
    
    namespace Arr_1_dimensi
    {
    class Program
    {
    private static byte banyak()
    {
    byte data;
    Console.Write("Banyak Elemen Array = ");
    data=Convert.ToByte(Console.ReadLine());
    return data;
    }
    private static byte [] arr(byte a)
    {
    byte[] data=new byte[a];
    for (int i = 0; i < a; i++) {
    Console.Write("Nilai Data Elemen ke [{0}] = ", i);
    data[i]=Convert.ToByte(Console.ReadLine());
    }
    return data;
    }
    private static void tampil(byte []a, byte b)
    {
    for (int i = 0; i < b; i++) {
    Console.WriteLine("Data ke-{0}= {1}",i,a[i]);
    }
    }
    public static void Main(string[] args)
    {
    byte data;
    data=banyak();
    byte [] arraydata=new byte[data];
    arraydata=arr(data);
    tampil(arraydata,data);
    
    Console.Write("Press any key to continue . . . ");
    Console.ReadKey(true);
    }
    }
    }
    

    SEKARANG BIASA DI LIHAT BUKAN, BEGINILAH HASILNYA……  ^_^

    WKTUNYA SEKARANAG KITA COBA MENGGUNAKAN BAHASA PEMOGRAMAN C++… PERHATIKAN Y…

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int banyak()
    {
    int data;
    cout<<"Banyak Elemen Array = ";
    cin>>data;
    return data;
    }
    int* arr(int a)
    {
    int* data=new int[a];
    for(int i=0;i<a;i++)
    {
    cout<<"Nilai Data Elemen ke  {"<<i<<"} = ";
    cin>>data[i];
    }
    return data;
    }
    void tampil(int a[],int b)
    {
    for (int i=0;i<b;i++)
    {
    cout<<"Data ke-{"<<i<<"} = ";
    cout<<a[i];
    cout<<endl;
    }
    }
    int main(int argc, char *argv[])
    {
    int data;
    data=banyak();
    int* arraydata=new int[data];
    arraydata=arr(data);
    tampil(arraydata,data);
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    
     

    MAKA HASILNYA AKAN SEPERTI INI….

    YANG TERAKHIR INI ADALAH CONTOH PROGRAM YANG TELAH DI APLIKASIKAN KE DALAN BAHASA PEMOGRAMAN JAVA. DI SIMAK DULU YUKKS…….  :)

    package javaapplication2;
    
    import com.sun.java.swing.plaf.windows.WindowsInternalFrameTitlePane.ScalableIconUIResource;
    import java.util.Scanner;
    
    public class Main {
    public static Scanner Input=new Scanner(System.in);
    static byte banyak()
    {
    byte data;
    System.out.print("Banyak Elemen Array = ");
    data=Input.nextByte();
    return data;
    }
    static byte  [] arr(byte a)
    {
    byte []data=new byte[a];
    for (int i = 0; i < a; i++)
    {
    System.out.print("Nilai Data Elemen ke  {"+ i +"} = ");
    data[i]=Input.nextByte();
    
    }
    return data;
    }
    static void tampil(byte []a,byte b)
    {
    for (int i = 0; i < b; i++)
    {
    System.out.println("Data ke-{"+i+"} = " +a[i]);
    }
    }
    
    public static void main(String[] args) {
    byte data;
    data=banyak();
    byte[]nilai=new byte[data];
    nilai=arr(data);
    tampil(nilai, data);
    
    }
    
    }
    
    

    HASILNYA SEPERTI INI…….

    Pengertian Variabel


    Pengertian dan Definisi Variabel



    Variabel adalah suatu besaran yang dapat diubah atau berubah sehingga mempengaruhi peristiwa atau hasil penelitian. Dengan menggunakan variabel, kita akan mmeperoleh lebih mudah memahami permasalahan. Hal ini dikarenakan kita seolah-olah seudah mendapatkan jawabannya. Biasanya bentuk soal yang menggunakan teknik ini adalah soal counting (menghitung) atau menentuakan suatu bilangan. Dalam penelitian sains, variable adalah bagian penting yang tidak bisa dihilangkan. 
    Berikut ini adalah pengertian dan definisi variabel menurut para ahli:
    SUTRISNO HADI
    Variabel adalah objek penelitian yang bervariasi, misalnya jenis kelamin karena jenis kelamin mempunyai variasi laki-laki dan perempuan
     FREDDY RANGKUTI
    Variabel adalah konsep yang emmpunyai variasi nilai, maka nilai variabel dapat dibedakan menjadi empat tingkatan skala, yaitu: nominal, ordinal, internal, dan rasio
    ANONIM
    Variabel adalah pengenal yang digunakan untuk menyimpan suatu nilia sementara pada memori
    TIA MUTIARA
    Variabel adala sesuatu yang menjadi pusat atau fokus perhatian, yang memberikan pengaruh dan memiliki nilai sehingga dapat berubah. Variabel dapat disebut juga peubah. Variabel merupakan objek penelitian yang dapat menentukan hasil penelitian
     BAGJA WALUYA
    Variabel merupakan konsep yang tidak pernah ketinggalan dalam setiap penelitian. Variabel didefinisikan sebagai gejala yang bervariasi 
     SUGIARTO
    Variabel adalah karakter yang akan diobservasi dari unit amatan yang merupakan suatu atribut dari sekelompok objek dengan ciri adanya variasi antara satu objek dengan objek yang lain dalam kelompok tertentu
     ROBBINS PEARSON
    Variabel adalah semua karakteristik umum yang dapat diukur dan dapat berubah dalam keluasan, intensitas, atau keduanya.
    EDDY SOERYANTO SOEGOTO
    Variabel merupakan objek penting dalam riset pemasaran karena tanpa kehadiran variabel maka riset tidak dapat terlaksana.
     ANONIM
    Variable merupakan sarana untuk memperoleh pemahaman tergadap masalah yang sedang diteliti secara benar. Dengan emnggunakan variable-variable tertentu, peneliti menguji benar atau tidaknya asumsi dan rumusan masalah yang sebelumnya sudah dibuat

    STRUKTUR DASAR ALGORITMA


    STRUKTUR DASAR ALGORITMA

    1. Struktur Sekuensial (Runtunan)
    2. Struktur Seleksi (Pemilihan)
    3. Struktur Repetition(Pengulangan)STRUKTUR SEKUENSIAL (Runtunan)

    Pada struktur  sekuensial instruksi dikerjakan secara
    berurutan baris perbaris mulai dari baris pertama
    hingga baris terakhir, tanpa ada loncatan atau
    perulangan.
     Tiap instruksi dikerjakan satu per satu.
     Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang
    diulang.
    Urutan instruksi yang dilaksanakan pemroses sama dengan
    urutan instruksi sebagai tertulis di dalam teks algoritma.
     Akhir dari instruksi terakhir merupakan akhir algoritma.Contoh Algoritma
    Menghitung Luas Persegi Panjang :
    1. Masukkan panjang (p)
    2. Masukkan lebar ( l )
    3. Hitung Luas (p * l )
    4. Tulis LuasPengaruh Urutan Instruksi

    • Urutan instruksi dalam algoritma adalah
    penting. Urutan instruksi menunjukan urutan
    logik penyelesaian masalah.

    • Urutan instruksi yang berbeda mungkin tidak
    ada pengaruh terhadap solusi persoalan,
    tetapi mungkin juga menghasilkan keluaran
    yang berbeda, tergantung pada masalahnyaContoh urutan instruksi yang berbeda tetapi
    tidak mempengaruhi hasil
    .
    Deklarasi :
    A, B, C, D : integer

    Deskripsi :
    4. read (A, B) {1}
    5. C A + B {2}
    6. D A * B {3}
    7. write (C, D) {4}

     Deklarasi :
    A, B, C, D : integer

    Deskripsi :
    4. read (A, B)
    5. D A * B
    6. C A + B
    7. write (C, D)

    Dari kedua algoritma hasil C dan D adalah SAMATetapi jika algoritma di atas urutan no. 1,2 dan 3
    diubah (ditukarkan ) maka menghasil keluaran
    yang berbeda (tidaksama) seperti berikut :

    {di baca dua buah bilangan integer kemudian hitung
    penjumlahan dan perkalian dua buah bilangan tersebut,
    dan tampilkan hasilnya ke layar}
    Deklarasi :
    A, B, C, D : integer
    Deskripsi :
    C A + B
    D A * B
    read (A, B)
    write (C, D)
    Hasil C dan D akan
    berbeda dengan dua
    algoritma sebelumnyaSTRUKTUR SELEKSI (PEMILIHAN)
    Struktur seleksi adalah instruksi yang dipakai untuk memilih satu aksi dari
    beberapa kemungkinan aksi berdasarkan suatu syarat
    Bentuk ke-1 dari pemilihan
    Suatu aksi hanya dilakukan bila
    persyaratan atau kondisi tertentu
    dipenuhi. jika kondisi bernilai
    benar kerjakan aksi jika salah,
    tidak ada aksi apapun yang
    dikerjakan.
    Notasi algoritmik :
    if Syarat then
    Aksi        {True}
    endif            {False}STRUKTUR SELEKSI
    Bentuk ke-2 dari pemilihan
    Apabila syarat dipenuhi maka
    aksi-1 dilaksanakan bila syarat
    tidak dipenuhi maka aksi- 2
    yang dilaksanakan
    Notasi Algoritma,
    IF syarat THEN
        aksi-1      {true}
    ELSE
        aksi-2      {false}
    ENDIFSTRUKTUR PERULANGAN
    Perulangan adalah instruksi yang dapat mengulang sederetan
    Instruksi secara berulang-ulang sesuai persyaratan yang
    ditetapkan.
    Struktur instruksi perulangan pada dasarnya terdiri atas :
    • Kondisi perulangan; suatu kondisi yang harus dipenuhi agar
    perulangan dapat terjadi.
    • Badan (body) perulangan; deretan instruksi yang  akan
    diulang-ulang pelaksanaannya.
    • Pencacah (counter) perulangan; suatu variabel yang
    nilainya harus  berubah agar perulangan dapat terjadi dan
    pada akhirnya membatasi jumlah perulangan yang dapat
    dilaksanakanJenis Perulangan :
    2. For – Next
    4. While – Do
    6. Repeat - UntilPerulangan : FOR - NEXT
    Bentuk umum :
    For var=awal to akhir
    .……………
    instruksi-instruksi
    ..……………
    Next var
    Instruksi
    For I = 1 to 4
    Next IMakna dari bentuk perulangan di atas adalah
    ulangi instruksi tersebut berdasarkan variabel
    perulangan mulai dari nilai awal hingga nilai
    akhir.
    Dari gambar di atas instruksi akan dikerjakan
    sebanyak 4 kali, karena perulangan dimulai dari
    1 sampai 4.Perulangan : While - Do
    Bentuk umum :
    While {kondisi} do
    ..…………
    instruksi-instruksi
    ..…………
    EndwhileDari bentuk pengulangan di atas
    instruksi akan dilaksanakan berulang
    kali selama kondisi bernilai TRUE , jika
    FALSE maka badan pengulangan tidak
    akan dilaksanakan yang berarti
    pengulangan selesai.Contoh :
     Algoritma Cetak_Angka
     {mencetak 1, 2, .., 8 ke piranti keluaran}
     Deklarasi :
     K: integer
     Deskripsi :
     K 1 {inisialisasi}
     while k <= 8 do
     write (k)
     k k + 1
     endwhilePerulangan : REPEAT - UNTIL
    Bentuk umum :
    Repeat
    .………
    instruksi
    .………
    Until ( kondisi )
    flowchart
    Kondis
    i
    Instruksi-instruksi
    False
    TrueKeterangan :
    Intruksi ( atau runtunan instruksi)
    akan dilaksanakan berulang kali
    sampai kondisi bernilai true, jika
    kondisi bernilai false maka
    pengulangan masih terus dilakukan.Contoh :
    Algoritma Cetak_Angka {mencetak 1, 2, .., 8 ke piranti keluaran}
     Deklarasi :
     K: integer
     Deskripsi :
     K 1 {inisialisasi}

    repeat
    write (k)
     k k + 1
     until k > 8

    tipe data

    Pengertian stuktur Data

    Struktur Data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis.

    Macam macam tipe data 

     
    1. TIPE DATA SEDERHANA (SIMPLE - DATA TYPE)
    2. TIPE DATA TERSTRUKTUR (STRUCTURED - DATA TYPE)
    3. TIPE DATA PENUNJUK (POINTER - DATA TYPE)
    A.   TIPE DATA SEDERHANA (SIMPLE - DATA TYPE)
    •   adalah tipe data yang sudah ada dan dijadikan standar dalam bahasa pemrograman tertentu.
    •   Isi dari tipe data sederhana ini adalah data-data tunggal
    TIPE DATA SEDERHANA (SIMPLE - DATA TYPE)
    1. STANDARD DATA TYPE
    •   INTEGER
    •   REAL
    •   CHAR
    •   STRING
    •   BOOLEAN
    1. USER-DEFINED DATA TYPE
    •   ENUMERATED OR SCALAR TYPE
    •   SUBRANGE TYPE
    INTEGER => TIPE BILANGAN BULAT









    REAL =>TIPE BILANGAN PECAHAN









    TIPE BILANGAN REAL
    •   Data yang termasuk bilangan real adalah data angka yang mengandung pecahan.
    •   Data yang seperti ini akan memiliki keterangan jangkauan, jumlah digit penting (berarti) dan ukuran.
    •   Digit berarti ini penting diperhatikan karena ini berhubungan dengan tingkat ketelitian data yang disajikan.
    TIPE DATA KARAKTER










    TIPE DATA BOOLEAN
    •   Adalah tipe data yang hanya bernilai benar (true) atau salah (false).
    •   Jangkauan (nilai yang mungkin) hanya 2 yaitu true atau false.









    USER - DEFINED DATA TYPE =>SUB JANGKAUAN
    •   Tipe sub jangkauan merupakan tipe data yang jangkauannya merupakan sebagian dari tipe data yang lain.
    •   Misalnya untuk tipe byte memiliki jangkauan dari 0..255, sementara kita hanya memerlukan angka 1..12 untuk menampung data bulan. Maka bisa diciptakan satu tipe baru yang merupakan sub jangkauan tersebut.
    •   Contoh
          Type
                      Bulan : 1 .. 12 ;


    B.   TIPE DATA TERSTRUKTUR (STRUCTURED - DATA TYPE)
    1.    ARRAY (LARIK)
    2.    RECORD (REKAMAN)
    3.    FILE
    4.    SET (HIMPUNAN)
    1. ARRAY (LARIK)
    •   Larik adalah tipe data yang berisi beberapa data yang ditampung dalam satu variabel yang memiliki tipe data yang sama.
    •   Masing masing data yang tertampung dalam sebuah larik akan ditandai sebagai elemen pertama sampai ke - n.
    •   larik dapat dibuat beberapa dimensi, misalnya untuk menggambarkan matrix kita perlu menggunakan larik 2 dimensi.  
    2.   RECORD (REKAMAN)
    •   Tipe data rekaman di gunakan untuk menampung data yang terdiri dari beberapa tipe yang berbeda.
    •   Record dapat diakses (diisi) dan dibaca per elemen record dengan menyebut nama elemennya.
    3.   SET (HIMPUNAN)

    Tipe data himpunan merupakan sebuah tipe data yang didalamnya memuat sejumlah elemen (anggota) dimana anggotanya memiliki tipe data dasar yang sama.

    C.   TIPE POINTER
    •   Pointer secara harfiah dapat diartikan sebagai penunjuk.
    •   Tipe data pointer ini merupakan tipe data yang berisikan alamat memori dimana data disimpan
    OPERATOR MATEMATIKA