Tampilkan postingan dengan label MK-Struktur Data. Tampilkan semua postingan
Tampilkan postingan dengan label MK-Struktur Data. Tampilkan semua postingan

Minggu, 17 Februari 2013

Ebook - Algoritma Dan Struktur Data

Penulis : -
Bahasa: indonesian
Halaman: 419, Ukuran: 4.99 MB

Download

Selasa, 12 Februari 2013

[Pemrograman C++] KELAS DAN OBJECT LANJUTAN

MODUL 4
KELAS DAN OBJECT LANJUTAN



SASARAN

1.    Mampu membedakan object lokal dan global
2.    Menguasi membuat suatu project

TUGAS PENDAHULUAN
1.    Apa yang dimaksud dengan object sebagai parameter ?
2.    Apakah object dapat dijadikan sebagai nilai balaik suatu fungsi ? , berikan contohnya.
3.    Dapatkah anggota data bersifat statis ?

PRAKTIKUM


1.    Modul4a.cpp

#include<iostream.h> #include<string.h> class abc {   private:    char nama[20];   public:    abc(char *nama);    ~abc(); };  abc x("x");  void main() {   cout << "Awal fungsi main()...." << endl;
  abc y("y");
  abc z("z");
  cout << "Akhir fungsi main" << endl;
}

abc::abc(char *nama)
{
  strcpy(abc::nama, nama);
  cout << "Konstruktor objek " << abc::nama << " dijalankan....." << endl;
}

abc::~abc()
{
 cout << "Destruktor object " << nama << " dijalankan..." << endl;
}



2.    Modul4b.cpp

#include<iostream.h> #include<string.h> #include<stdlib.h> class abc {   private:    char nama[20];   public:    abc(char *nama);    ~abc(); };  abc x("x");

void main()
{
  cout << "Awal fungsi main()...." << endl;
  abc y("y");
  abc z("z");
  exit(1);
}

abc::abc(char *nama)
{
  strcpy(abc::nama, nama);
  cout << "Konstruktor objek " << abc::nama << " dijalankan....." << endl;
}

abc::~abc()
{
 cout << "Destruktor object " << nama << " dijalankan..." << endl;
}


Untuk file lengkapnya silahkan download disini

Senin, 11 Februari 2013

[Struktur Data] Stack atau Tumpukan

STACK ( TUMPUKAN )

Stack ( Tumpukan ) dapat diartikan sbg :
Suatu kumpulan data yang seolah-olah ada data yg diletakkan diatas data yg lain, yg bisa menyisipkan ( menambah ) data serta mengambil ( menghapus data ).

Operasi yg dpt dilakukan dalam stack :
    1. Menyisipkan / menambahkan data pd ujung atas stack
       -> push
    2. Menghapus / mengeluarkan data dr ujung atas stack
       -> pop
Prinsip kerja stack adalah LIFO ( Last In First Out )

Penyajian awal Stack :
Dalam Pascal dikenal type data terstruktur yg disebut ARRAY (LARIK). Dapat digunakan u menyajikan sebuah tumpukan. Tapi penyajian dg mengg. ARRAY adalah kurang tepat karena banyaknya elemen dalam array adalah statis.
Sedangkan dalam tumpukan, banyaknya elemen dapat bervariasi ( dinamis ).
Meskipun demikian, ARRAY dapat digunakan u menyajikan sebuah tumpukan dg anggapan bahwa banyaknya elemen max dari tumpukan tsb tidak akan melebihi batas max banyaknya elemen dalam array.

Pada saat ukuran tumpukan = ukuran array, jika ditambahkan data baru akan menyebabkan “OVERFLOW”.
Dengan demikian perlu adanya data tambahan u mencatat posisi ujung atas tumpukan.

Dengan kebutuhan ini, penyajian tumpukan dapat dilakukan dengan menggunakan type data terstruktur yang lain yaitu RECORD ( Rekaman ) yg terdiri dari 2 field :
    - Field 1 -> Digunakan u menyimpan elemen tumpukan yg bertype array
    - Field 2 -> Digunakan u mencatat posisi atas ujung tumpukan.

    Deklarasi STACK secara umum :
    const MaxElemen =255;
    type Tumpukan = record
                Isi : array[1..MaxElemen] of string;
                atas : 0..MaxElemen
                end;
    var T : Tumpukan;


Untuk file lengkapnya download disini

[Struktur Data] Procedure dan Fungsi

PROCEDURE & FUNCTION

PROCEDURE

Merupakan blok program yg terpisah dr program lain ( modul / sub program ), dan dapat dipanggil dari program lain dengan menyebutkan nama dari procedure yg bersangkutan.

Contoh :
    program pemakaian_procedure;
    uses crt;
    procedure input_data;
    begin
        write ( “ NIM = “ ); readln ( nim ) ;
        write ( “ Nama = “ ); readln ( nama ) ;
    end;
    var     nim : string [ 14 ] ;
        nama : string [ 20 ] ;
    begin
        clrscr ;
        input_data;
        writeln ( “ Selesai … “ ) ;
    end


FUNCTION
Blok fungsi hampir sama dengan procedure, hanya saja fungsi harus di deklarasikan dg tipe nya.

Buat program untuk menghitung jumlah 2 bilangan yg dilakukan dg fungsi & nilai dari kedua bilangan tsb, dikirimkan dr luar fungsi, yg mana nilai dr kedua bilangan harus diinputkan.

Program penjumlahan;
    Uses crt :
    Var bil1, bil2: byte;
    function hasil (var A,B: byte) : integer;
    Begin
        hasil:=A+B;
    end;
    begin
        clrscr;
        write (‘Bilangan 1=‘);readln(bil1);
        write (‘Bilangan 2=‘);readln(bil2);
        write (‘Bilangan1+Bilangan2=“, hasil(bil1,bil2));
    end
 

Untuk file lengkapnya download disini

[Struktur Data] REKURSI

REKURSI

Pengertian Rekursi


-> Rekursi berarti suatu proses yg bisa memanggil dirinya sendiri.
-> Sifat rekursi dimiliki oleh beberapa statement Pascal
-> Rekursi merupakan teknik pemrograman yg berdaya guna untuk digunakan pada pekerjaan pemrograman dg mengekspresikannya kedalam modul-modul dr program lain dg menambahkan langkah-langkah sejenis.
-> Contoh paling sederhana dr proses rekursi adalah menghitung nilai FAKTORIAL dan deret FIBONACCI dr suatu bilangan bulat.

Menentukan Nilai Faktorial bilangan bulat positif!

Contoh :
    0! = 1
    1! = 1 x 0! = 1 x 1 = 1
    2! = 2 x 1! = 2 x 1 x 0! = 2 x 1 x 1 = 2
   
    N! = 1 -> jika N=0
    N! = N x (N-1) -> jika N > 0
   
    N = Bilangan yg akan difaktorialkan

    Notasi pemrograman :
    faktorial (N) = 1 , untuk N=0
    faktorial (N) = N x faktorial (N-1) , untuk N>0


Menentukan Deret Fibonacci
Contoh :
    fibonacci(0)  = 1       fibonacci (N)=1 jika N=0 atau N=1 
    fibonacci(1)  = 1

    fibonacci (N) = fibonacci (N-2) + fibonacci (N-1)
    jika N>1
    fibonacci (2) = fibonacci (0) + fibonacci (1)
    fibonacci (3) = fibonacci (3-2) + fibonacci (3-1)
              = fibonacci 1 + fibonacci 2
              = 1 + fibonacci (2-2) + fibonacci (2-1)
              = 1 + 1 + 1 = 3
   

Untuk file lengkapnya download disini

[Struktur Data] Antrian atau Queue

Antrian (Queue)
-> Sifatnya: FIFO (First in First Out)
-> Penerapan Multiprogramming:    
   - Task yang lebih dulu datang
   - Task yang lebih dulu request
-> Antrian dapat digambarkan:
   - Larik

Implementasi dengan Larik
Digunakan satu antrian berbentuk larik satu dimensi dan dua variabel:
 * Depan -> indeks elemen terdepan
 * Belakang -> indeks elemen terakhir


Untuk file lengkapnya silahkan donwload disini

[Struktur Data] Pohon atau Tree

POHON/TREE
SEBUAH POHON ADALAH STRUKTUR DATA YANG TERDIRI DARI AKAR (ROOT), DAN SUBPOHON-SUBPOHON DALAM SUSUNAN HIRARKI. SUATU POHON DAPAT BERSIFAT STATIK DAN DINAMIK. POHON STATIK ADALAH KEADAAN DIMANA BENTUK POHON SUDAH DITENTUKAN. SEDANGKAN POHON DINAMIK ADALAH KEADAAN DIMANA BENTUK POHON BERUBAH SELAMA PROGRAM DIJALANKAN. BENTUK POHON DAPAT BERUBAH KARENA OPERASI PENAMBAHAN DAN PENGHAPUSAN SIMPUL [NODE]. REPRESENTASI POHON DAPAT MENGGUNAKAN REPRESENTASI LARIK [ARRAY] ATAU REPRESENTASI PENUNJUK [POINTER]

ISTILAH DASAR
-> Simpul/Node
-> Akar/roor
-> Tingkat/Level
-> Kedalaman/Depth
-> Deret dari simpul
-> Daun
-> Simpul dari nonterminal

STRUKTUR POHON
-> Diagram Pohon
-> Diagram Venn
-> Notasi Kurung
-> Notasi Tingkat

POHON BINER
POHON YANG MEMPUNYAI KOMPONEN SIMPUL TERBATAS :
-> KOSONG ATAU HANYA MEMPUNYAI AKAR
-> KOSONG DAN SUB POHON KANAN
-> SUB POHON KIRI DAN KOSONG
-> SUB POHON KIRI DAN SUB POHON KANAN

PENELUSURAN POHON BINER
PROSES MENDATANGI SETIAP SIMPUL DARI POHON SECARA SISTEMATIK MASING-MASING SATU KALI.

1. SLR (Simpul Left Right), proses simpul tersebut, kemudian proses sub pohon kiri dan dilanjutkan dengan proses sub pohon kanan (Preorder)
2. LSR (Left Simpul Right), proses sub pohon kiri kemudian proses simpul tersebut dan terakhir proses sub pohon kanan (inorder)
3. LRS (Left Right Simpul), proses sub pohon kiri, kemudian proses sub pohon kanan baru proses simpul tersebut (postorder)
4. Level Order, kunjungan simpul dimulai dari simpul bertingkat satu hingga simpul-simpul bertingkat n, yaitu mulai dari akar pohon sampai semua simpul di tingkat yang paling tinggi.

Untuk file lengkapnya silahkan download disini

[Struktur Data] SORTING / PENGURUTAN DATA

SORTING / PENGURUTAN DATA

SORTING Adalah Proses menyusun kumpulan data yang seragam dengan aturan urut menaik (ascending), atau urut menurun (descending)

Sorting Berdasarkan perbandingan
(comparison-based sorting).
- pengurutan seleksi (selection sort)
- pengurutan sisip (insertion sort)
- pengurutan gabung (merge sort)
- pengurutan cepat (quick sort)
- pengurutan himpun (heap sort)
- pengurutan gelembung (bubble sort)
- pengurutan shell (shell sort)
- pengurutan pohon (tree sort)

Sorting Berdasarkan prioritas antrian
(priority queue sorting method).
- pengurutan seleksi (selection sort)
- pengurutan himpun (heap sort)

Sorting Berdasarkan penyisipan dan penjagaan terurut   (insert and keep sorted method).
- pengurutan sisip (insertion sort)
- pengurutan pohon (tree sort)

Sorting Berdasarkan pembagian dan penguasaan (devide and conquer method).
- pengurutan cepat (quick sort)
- pengurutan gabung (merge sort)

Berdasarkan pengurutan berkurang menurun (diminishing increment sort method).
- pengurutan shell (shell sort)


Untuk file lengkapnya download disini

[Struktur Data] GARPH

Struktur Data Graph

Graph adalah kumpulan dari simpul dan busur yang secara matematis dinyatakan sebagai :
G = (V, E)
Dimana    
G = Graph
V = Simpul atau Vertex, atau Node, atau Titik
E = Busur atau Edge, atau arc

-> Sebuah graph mungkin hanya terdiri dari satu simpul
-> Sebuah graph belum tentu semua simpulnya terhubung dengan busur
-> Sebuah graph mungkin mempunyai simpul yang tak terhubung dengan simpul yang lain
-> Sebuah graph mungkin semua simpulnya saling berhubungan

Graph tak berarah (undirected graph atau non-directed graph) :
Urutan simpul dalam sebuah busur tidak dipentingkan. Mis busur e1 dapat disebut busur AB atau BA

Graph berarah (directed graph) :
Urutan simpul mempunyai arti. Mis busur AB adalah e1 sedangkan busur BA adalah e8.

Graph Berbobot (Weighted Graph)
Jika setiap busur mempunyai nilai yang menyatakan hubungan antara 2 buah simpul, maka busur tersebut dinyatakan memiliki bobot.
Bobot sebuah busur dapat menyatakan panjang sebuah jalan dari 2 buah titik, jumlah rata-rata kendaraan perhari yang melalui sebuah jalan, dll.

Istilah pada graph
1. Incident
    Jika e merupakan busur dengan simpul-simpulnya adalah v dan w yang ditulis e=(v,w), maka v dan w disebut “terletak” pada e, dan e disebut incident dengan v dan w.
2. Degree (derajat), indegree dan outdegree
    Degree sebuah simpul adalah jumlah busur yang incident dengan simpul tersebut.

Indegree sebuah simpul pada graph berarah adalah jumlah busur yang kepalanya incident dengan simpul tersebut, atau jumlah busur yang “masuk” atau menuju simpul tersebut.

Outdegree sebuah simpul pada graph berarah adalah jumlah busur yang ekornya incident dengan simpul tersebut, atau jumlah busur yang “keluar” atau berasal dari simpul tersebut.


Untuk file lengkapnya silahkan Download disini

[Struktur data] Searchhing & Hash


Pengertian Searching

Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengan cara searching.
Searching adalah pencarian data dengan cara menelusuri data-data tersebut. 
Tempat pencarian data dapat berupa array dalam memori, bisa juga pada file pada external storage.

Yang Akan Dipelajari
-> Pencarian Berurutan (Sequential Search)
-> Pencarian Biner (Binary Search)
-> Pencarian Hash (Hasing)

Sequential Search
-> Ide dasar dalam pencnarian ini adalah dengan membandingkan nilai yang dicari dengan setiap elemen pada array, mulai dari index terkecil sampai index terbesar yang terdefinisi. Pencarian dihentikan jika nilai yang dicari telah ditemukan atau semua elemen array telah diperikasa.

Binary Search
-> Ide dasarnya adalah membandingkan nilai yang dicari, x, dengan elemen tengah array. Jika x lebih besar dari elemen tengah array (dengan catatan array telah terurut dari nilai terkecil ke yang terbesar), maka pencarian dilakukan pada setengah bagian yang nilainya lebih besar dari nilai x sampai elemen terakhir.

Untuk file lengkapnya silahkan donwload disini

Matrik - Array 1 dimensi dan 2 dimensi

ARRAY
1 DIMENSI
2 DIMENSI

KELEBIHAN & KEKURANGAN

KELEBIHAN
- Struktur Data paling mudah
- Memori ekonomis, bila semua elemen terisi
- Waktu akses sama ke setiap elemen

KEKURANGAN
- Boros memori jika banyak elemen yang tidak digunakan
- Struktur Data Statis

PROSES LARIK

Program Proses_Larik

KAMUS
Const        : N = 8   {jumlah elemen larik}
Indeks    : integer
A          : array [1..N] of integer  {deklarasi larik A dengan tipe data integer}

ALGORITMA
   For    Indeks <- 1 to N    do
             PROSES LARIK
   End


Untuk file lengkapnya silahkan download disini

Pengenalan Matakuliah Struktur Data

Pengenalan mata kuliah Struktur data

1. Pengenalan Sistem Komputer
2. Paradigma Rekayasa Perangkat Lunak
3. Algoritma dan Struktur Data

Pengenalan sistem komputer

Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkat lunak dan perangkat keras yang melakukan tugas tertentu (menerima input, memproses input, menyimpan perintah-perintah, dan menyediakan output dalam bentuk informasi). Selain itu dapat pula diartikan sebagai elemen-elemen yang terkait untuk menjalankan suatu aktivitas dengan menggunakan komputer

Elemen sistem komputer

Elemen dari sistem komputer terdiri dari manusianya (brainware), perangkat lunak (software), set instruksi (instruction set/Instruction Set Architecture), dan perangkat keras (hardware).
   
    Dengan demikian komponen tersebut merupakan elemen yang terlibat dalam suatu sistem komputer. Tentu saja hardware tidak berarti apa-apa jika tidak ada salah satu dari dua lainnya (software dan brainware).


Paradigma rekayasa perangkat lunak

Untuk menyelesaikan msalah aktual di dalam sebuah setting industri, rekayasa perangkat lunak atau tim perekayasa harus menggabungkan strategi pengembangan yang melingkupi lapisan proses, metode, dan alat-alat bantu serta fase-fase generik. Strategi ini sering diacukan sebagai model proses atau paradigma rekayasa perangkat lunak. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu yang akan dipakai, dan kontrol serta penyampaian yang dibutuhkan.

Beda paradigma dan metodologi

metodologi pengembangan perangkat lunak memberikan kerangka bagi jalur yang harus dilalui aktivitas-aktivias pengembangan, sebagai contoh: waterfall, spiral, prototype dan lain sebagainya,

sementara paradigma mengacu kepada cara pandang spesifik dalam usaha pencarian solusi, yaitu: menyagkut konseptualisasi permasalahan dan solusi, bukan berkaitan dengan urutan aktivitas penyelesaian.

Silahkan Download file lengkapnya disini

[Struktur Data] Matriks Jarang dan Pengalamatan

Pengalamatan Matriks

Ordering

A[1,1], A[1,2], A[1,3], A[2,1], A[2,2],A[2,3]…... jika row major
A[1,1], A[2,1], A[1,2], A[2,2], A[1,3],A[2,3]….. jika column major


1
2
3
1
A[1,1]
A[1,2]
A[1,3]
2
A[2,1]
A[2,2]
A[2,3]




 Pengalamatan Matriks

Row Ordering

A[1,1], A[1,2], A[1,3], A[2,1], A[2,2],A[2,3]…... jika row major
A[1,1], A[2,1], A[1,2], A[2,2], A[2,2],A[2,3]….. jika column major


X[1,1]
Baris ke –1
X[1,2]
Baris ke –1
X[1,3]
Baris ke –1
X[2,1]
Baris ke-2
X[2,2]
Baris ke-2
X[2,3]
Baris ke-2



Silahkan download file lengkapnya disini

[Struktur Data] Dasar Pemrograman yang Baik

Dasar Pemrograman Yang Baik
Perangkat Lunak

Berbicara mengenai pemrograman, maka tidak dapat dipisahkan dengan “Perangkat Lunak”.

    Kenapa ?

“Tanpa ada bahasa pemrograman, perangkat lunak tidak dapat dibuat/dikembangkan”

Katergori Perangkat Lunak
Diantaranya :
Open Source
Freeware
Shareware
komersil

Kategori Perangkat Keras (berdasarkan fungsinya)
Diantaranya :
Input Device
Process Device
Output Device
Backing Storage
Periferal

Tahapan Generik yang Dilalui dalam Pengembangan Perangkat Lunak

ANALISIS DAN SPESIFIKASI MASALAH
PERANCANGAN SISTEM
PERANCANGAN SISTEM
PENGODEAN ATAU PEMROGRAMAN, SERTA INTEGRASI
VERIFIKASI DAN VALIDASI
PEMELIHARAAN SISTEM

Bahasa Pemrograman

Pemrograman
proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer
sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer



Silahkan Download file lengkapnya disini

ARRAY DALAM STRUKTUR DATA

DEFINISI ARRAY DALAM STRUKTUR DATA

KOLEKSI DATA YANG TIPENYA SAMA, TERSUSUN DALAM BENTUK BARISAN BERURUTAN DAN JUMLAH ELEMEN ATAU DATANYA TIDAK BERUBAH SESUAI DEKLARASI AWAL.
STRUKTUR DATA YANG MENGACU PADA SEKUMPULAN ELEMEN YANG DIAKSES MELALUI INDEX

pengalamatan

LOK(LA[K]) = Awal(LA) + W(K - LB)

di mana:
LOK(LA[K])     – lokasi elemen dengan indeks K, yang dicari
K                       -- Indeks yang dicari
Awal (LA)       -- Lokasi awal dari larik
W                      – jumlah byte untuk menyimpan 1 elemen larik
LB                     -- lower bound / batas bawah  


LOK(LA[K]) = Awal(LA) + W(K - LB)

Contoh: Misalkan Awal (Jual) = 100 dan W= 4, maka
LOK (JUAL[1990]) = 100
LOK (JUAL[1991]) = 104
LOK (JUAL[1992]) = 108

Berapa lokasi JUAL[2000] ?  untuk mendapat lokasi tersebut 

LOK(LA[K])     =  Awal(LA) + W(K - LB)
                           = 100 + 4 * (2000 – 1990)
                           = 140 

Download file lengkapnya disini

[Struktur Data] Algoritma Pemrograman

DEFINISI ALGORITMA

Terdapat beberapa definisi mengenai kata Algoritma :
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah
Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik.

ALGORITMA UNTUK SATU KELAS PERSOALAN

SATU PERSOALAN ALGORITMA DISPESIFIKASIKAN DENGAN MENDESKRIPSIKAN KUMPULAN LENGKAP INSTAN PERSOALAN DIMANA ALOGORITMA HARUS BEKERJA DAN JUGA DINYATAKAN MENGENAI PROPERTI-PROPERTI KELUARAN YANG HARUS DIMILIKI SEBAGAI HASIL MENJALANKAN ALGORITMA PADA INSTAN-INSTAN TERSEBUT. ALGORITMA ADALAH SATU PROSEDUR YAKNI MASUKKANNYA SUATU INSTAN MASUKAN YANG MUNGKIN DAN MENTRANFORMASI MENJADI KELUARAN YANG DIKEHENDAKI.

silahkan download file lengkapnya
Download

Minggu, 10 Februari 2013

Makalah Struktur Data




A.    Struktur data
a)      Pengenalan sistem computer
Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkatlunak dan perangkatkeras yang melakukan tugas tertentu (menerima input, memproses input, menyimpan perintah-perintah, dan menyediakan output dalam bentuk informasi). Selain itu dapat pula diartikan sebagai elemen-elemen yang terkait untuk menjalankan suatu aktivitas dengan menggunakan komputer.
b)      Elemen sistem computer
Elemen dari sistem komputer terdiri dari manusianya (brainware), perangkat lunak (software), set instruksi (instruction set/Instruction Set Architecture), dan perangkat keras (hardware).
Dengan demikian komponen tersebut merupakan elemen yang terlibat dalam suatu sistem komputer. Tentu saja hardware tidak berarti apa-apa jika tidak ada salah satu dari dua lainnya (software dan brainware).
c)      Hardware
Ø  Komputer adalah sebuah mesin yang dapat diprogram untuk menerima data (input), memprosesnya untuk menghasilkan informasi (output), dan kemudian menyimpannya ke media penyimpan (Secondary Storage).
Ø  Input-Process-Output Model
      Input: keyboard, mouse, microphone, camera
      Output: disk file, printer, video monitor, sound card
      Storage: floppy disk, hard disk, zip disk, tape, flash   disk, compact disk, dll
      Process: arithmetic/logical/sorting, dll


d)     Software
Ø  Software (Perangkat Lunak) digunakan untuk memerintahkan mesin untuk melakukan sesuatu.
Ø  Contoh :
      Operating system
      Aplication system
e)      Brainware
Ø  User/pengguna

B.     Instruction set/instruction set architecture
IS/ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan.

C.    Paradigma rekayasaperangkat lunak
Ø  Untuk menyelesaikan msalah aktual di dalam sebuah setting industri, rekayasa perangkat lunak atau tim perekayasa harus menggabungkan strategi pengembangan yang melingkupi lapisan proses, metode, dan alat-alat bantu serta fase-fase generik. Strategi ini sering diacukan sebagai model proses atau paradigma rekayasa perangkat lunak. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu yang akan dipakai, dan kontrol serta penyampaian yang dibutuhkan.


D.    Beda paradigma dan metodologi
Metodologi pengembangan perangkat lunak memberikan kerangka bagi jalur yang harus dilalui aktivitas-aktivias pengembangan, sebagai contoh: waterfall, spiral, prototype dan lain sebagainya.
Sementara paradigma mengacu kepada cara pandang spesifik dalam usaha pencarian solusi, yaitu: menyagkut konseptualisasi permasalahan dan solusi, bukan berkaitan dengan urutan aktivitas penyelesaian.
Algoritma.
Ø  Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu.
Ø  merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria.

E.     Kriteria dalam algoritma
Ø  input
Algoritma harus mempunyai input walaupun itu nol : dalam hidup kita juga harus ada input/masukan juga. Input di kepala, di hati, di telinga dan di dompet.
Ø  output
Algoritma minimal harus mempunyai minimal 1 ouput : kita juga harus punya output tunjukin apa yang kita bisa ”talkless do more”, asal jangan sombong aja nantinya.

Ø  definiteness (pasti)
Algoritma memiliki instruksi yang jelas agar tidak disalah artikan : hidup juga harus punya tujuan yang jelas, gantung lah cita-cita setinggi langit.
Ø  finiteness (ada batas)
Harusnya ada berhentinya/stop : hidup juga ada batasnya jangan ikutin hawa nafsu.
Ø  effectiveness (efektif)
Instruksi haurs efektif : hidup juga harus efektif jangan membuang waktu sia-sia, waktu harus dimanfaat sebaik-baiknya.

Struktur data
Ø  Dalam istilah ilmukomputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Ø  Dalam teknik pemrograman, 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. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
F.     DEFINISI ALGORITMA
Terdapat beberapa definisi mengenai kata Algoritma :
Ø  Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Ø  Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah
Ø  Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik.

G.    ALGORITMA UNTUK SATU KELAS PERSOALAN
Satu persoalan algoritma dispesifikasikan dengan mendeskripsikan kumpulan lengkap instan persoalan dimana alogoritma harus bekerja dan juga dinyatakan mengenai properti-properti keluaran yang harus dimiliki sebagai hasil menjalankan algoritma pada instan-instan tersebut. Algoritma adalah satu prosedur yakni masukkannya suatu instan masukan yang mungkin dan mentranformasi menjadi keluaran yang dikehendaki.
Ciri dan properti algoritma
Ø  Algoritma adalah metode presisi untuk menyelesaikan persoalan. Alogoritma disusun dari sekumpulan langkah berhingga, masingmasing langkah mungkin memerlukan satu operasi atau lebih. Algoritma dirancang untuk menyelesaikan suatu persoalan spesifik dengan usaha paling minimal.



Ciri-ciri algoritma
  1. INPUT – Masukan, terdapat nol masukan atau lebih yang diberikan
  2. OUTPUT – Keluaran, sedikitnya terdapat satu keluaran yang dihasilkan
  3. DEFINITE – Jelas, harus secara sempurnya menyatakan apa yang dilakukanyang dilakukan
  4. EFECTIVE – Efektif, setiap instruksi harus dapat dilakukan secara manual menggunakan pensil dan kertas selama sejumlah waktu yang berhingga.
  5. TERMINATE – berakhir, harus berhenti setelah sejumlahoperasi.

H.    PERANCANGAN ALGORITMA
Terdapat sejumlah strategi umum untuk menuntun menghasilkan algoritma yang efektif menyelesaikan satu kelas persoalan strategi perancangan algoritma yang popular antara lain :
1. Strategi greedy
2. Strategi divide-and conquer
3. Strategi pemrograman dinamis (dynamic programming)
4. Strategi backtracking4. Strategi backtracking
5. Strategi branch-and-bound
6. Strategi pencarian dan penelusuran (search-and-tranversal)
7. Strategi pemrograman linear
8. Strategi pemrograman integer
9. Strategi algoritma genetik
10. Strategi neural network.


Komputer itu bodoh! Kenapa? Karena sebagai programmer, kita harus memberikan perintah hingga sangat detail apa yang harus dikerjakan oleh komputer. Programmer adalah orang yang bertugas untuk menerjemahkan suatu tugas menjadi instruksi detail yang dapat dimengerti oleh komputer. Komputer hanya melakukan apa yang diperintahkan baris demi baris, tetapi komputer tidak bisa berfikir bagaimana melakukan suatu tugas seefisien mungkin.
Untuk itu programmer baru harus dilengkapi dengan cara berfikir dan peralatan yang memungkinkan mereka untuk sukses dalam menerjemahkan suatu tugas menjadi rangkaian perintah yang bisa dimengerti oleh komputer.

Contoh
Ø  Misalnya, kita ambil contoh untuk menghitung rata-rata dari 5 bilangan:
ambil input user untuk bilangan pertama masukkan ke variabel x
ambil input user untuk bilangan kedua tambahkan variabel x dengan bilangan kedua ambil input user untuk bilangan ketiga tambahkan variabel x dengan bilangan ketiga ambil input user untuk bilangan keempat tambahkan variabel x dengan bilangan keempat ambil input user untuk bilangan kelima tambahkan variabel x dengan bilangan kelima bagi variabel x dengan 5 tampilkan hasilnya di layar
Algoritma di atas betul, tetapi terlalu banyak perulangan. Bagaimana jika bilangan yang akan dirata-ratakan ada 100? Kita bisa udah algoritma di atas dengan pseudocode yang lebih mudah dimengerti, misalnya
      while a kurang dari 5
      ambil input user untuk bilangan ke-a
tambahkan nilai x dengan bilangan ke-a  
tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar

Pengukuran kebaikan algoritma
Ø  Kebaikan algoritma ditentukan oleh :
1.      Seberapa baik algoritma menyelesaikan masalah
2.      Seberapa efisien algoritma menyelesaikan masalah

I.       ANALISIS KUALITATIF
      Analisis kualitatif memeriksa kebenaran algoritma dengan menelusuri algoritma. Penelusuran logis untuk membuktikan kebenaran algoritma. Kualitas algoritma mengharuskan kebenaran boolean: suatu algoritma adalah benar dan salah, tidak ada kondisi di tengah-tengah.
Contoh :
Ø  Algoritma pengurutan data (sorting) tidak dapat disebut sebagai algoritma pengurutan jika algoritma tidak dapat mengurutkan sembarang masukan barisan data.

Analisis Kuantitatifanalisis Kuantitatif
Analisis kuantitatif adalah analisis efisiensi algoritma dengan menghitung kompleksitas komputasi (waktu) dan ruang. Aspek kuantitatif mengukur seberapa besar sumber daya yang diperlukan algoritma. Terdapat dua sumber daya penting yang biasanya diukur:

1.      Seberapa cepat algoritma bekerja
2.      Seberapa ruang yang diperlukan agar algorima bekerja. 
Keduanya menunjukan kompleksitas algortima.

Mengekspresikan algoritma
Terdapat 3 alternatif yang paling sering digunakan,Terdapat 3 alternatif yang paling sering digunakan, yaitu:
1.      Bahasa alamai (bhs. Indonesia, Inggris)
2.      Pseudocode
3.      Bahasa pemrograman

Pencarian
Ada algoritma sederhana yang bisa digunakan untuk mencari suatu item pada array : Lihat setiap array, dan cek apakah isinya sama dengan item yang kita cari. Jika ketemu, maka pencarian selesai. Jika kita sudah melihat semua item dan tidak ada item yang sama, maka kita yakin bahwa item yang kita cari tidak ada dalam array.
Contoh
DALAM BAHASA SQL FUNGSI PENCARIAN DAPAT BERUPA INDEX DATA ATAU BERDASARKAN RECORD YANG LAIN
SELECT * FROM MAHASISWA
{MENAMPILKAN SEMUA DATA PADA TABEL MAHASISWA}
SELECT * FROM MAHASISWA WHERE ID_MAHASISWA = C0610804043



Pengurutan
Salah satu cara sorting yang penting adalah mengatur benda informasi dalam urutan alfabetik sesuai dengan hubungan penyusunan yang telah didefinisikan sebelumnya, misal ketika seseorang mensortir buku-buku di perpustakaan berdasarkan judul, subyek atau penulis (Biasanya diurutkan dalam urutan membesar).
1.      pengurutan penyisipan (insertion sort). Metode ini juga bisa digunakan untuk menjaga agar list selalu dalam urutan tertentu (naik atau turun) sewaktu kita menambah item baru ke dalam list.

CONTOH
2.      Pengurutan pilihan (selection sort). Metode ini mencari item terbesar di dalam list, kemudian memindahkannya ke akhir array -- atau dengan kata lain di tempatnya, karena item terbesar akan berada di akhir array. Setelah item terbesar ditempatkan di tempat yang benar, kita gunakan cara yang sama, yaitu cari item terbesar berikutnya, kemudian letakkan di tempat kedua dari akhir, dan seterusnya.

CONTOH
DALAM BAHASA SQL PENGURUTAN MENGGUNAKAN YANG DIDASARKAN BERDASARKAN ABJAD. SINTAXNYA :
      SELECT * FROM MAHASISWA ORDER BY ID_MAHASISWA ASC

Katergori Perangkat Lunak
Diantaranya :
      Open Source
      Freeware
      Shareware
      Komersil

Kategori Perangkat Keras (berdasarkan fungsinya)
Diantaranya :
q  Input Device
q  Process Device
q  Output Device
q  Backing Storage
q  Periferal

Tahapan Generik yang Dilalui dalam Pengembangan Perangkat Lunak
Ø  Analisis dan spesifikasi masalah
Ø  Perancangan sistem
Ø  Perancangan sistem
Ø  Pengodean atau pemrograman, serta integrasi
Ø  Verifikasi dan validasi
Ø   pemeliharaan sistem

J.      BAHASA PEMROGRAMAN
Pemrograman
q  proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer
q  sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer
Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (running time), atau memori.

Gaya Pemrograman
q  Guna Ulang
q  Kemampuan Perluasan
q  Ketangguhan

Guna Ulang
q  Jaga agar operasi koheren (berhubungan)
q  Jaga agar operasi berukuran kecil
q  Jaga agar operasi konsisten
q  Pemisahan kebijakan dan implementasi
q  Pemisahan kebijakan dan implementasi
q  Menyedialan cakupan yang seragam
q  Perlebar operasi sebesar mungkin
q  Menghindari informasi global

Kemampuan Perluasan
Ø  Pengkapsulan sebagai kelas.
Enkapsulasi memiliki arti mengelompokkan program kedalam satu unit sehingga program menjadi mudah digunakan
      Pembedaan operasi public dan private
      Menyembunyikan struktur data
      Namapelanggan := dapatnama(datamasuk);
      Writeln(namapelanggan);
      Writeln (Directori(x).nama)

Ketangguhan
Kita memrogram dengan tujuan memperoleh efisiensi penulisan metode, namu tidak boleh mengorbankan ketangguhan. Metode disebut tangguh jika tidak gagal meski menerima parameter yang tidak benar. Ketangguhan melawan bug dapat merupakan keputusan trade-off (bertentangan) dengan tujuan efisiensi.  Ketangguhan terhadap kesalahan pemakai tidak boleh Ketangguhan terhadap kesalahan pemakai tidak boleh dikorbankan hanya untuk memperoleh efisiensi.
Ø  Melindungi dari kesalahan
Ø  Optimasi dilakukan setelah program berjalan benar
Ø  Validasi argumen
Ø  Menghindari batasan yang terlalu dini atau sempit
Ø  Fasilitas debuggung dan monitoring

Petunjuk pemrograman
Ø  Jangan memulai pemrograman bila belum siap
Ø  Jaga agar metode-metode mudah dipahami
Ø  Buat agar metode mudah dibaca
Ø  Gunakan nama yang sama dengan yang digunakan di model objekdi model objek
Ø  Pilihlah nama identifier secara hati-hati
Ø  Gunakan petunjuk pemrograman yang telah disepakati
Ø  Lakukan pemaketan ke modul
Ø  Lakukan dokumentasi terhadap kelas dan metode
Ø  Lakukan publikasi spesifikasi

Kesimpulan
Standar Suatu Program Yang Baik
Ø  Standar Pemecahan masalah “teknik untuk dapat membantu memecahkan masalah antara lain teknik Top Down dan teknik Modular.”
Ø  Standar Penyusunan Program
      Kebenaran logika dan penulisan
      Program yang disusun harus memiliki logika dalam pemecahan masalah. Program yang dibuat harus memiliki ketepatan, ketelitian dan kebenaran sehingga menghasilkan program yang baik.
      Waktu penulisan dan eksekusi programPerawatan dan pengembangan program
Penyusunan program harus mempunyai sifat kesederhanaan dan kejelasan dari program yang nantinya akan dikembangkan dan membantu dalam perawatan.
      Portabilitas
Bahasa pemrograman dan program yang disusun sebaiknya bisa dipakai pada berbagai tipe komputer yang berbeda-beda dan berbagai jenis sistem operasi.

Standar Perawatan Program
Ø  Dokumentasi
Ø  Penulisan Instruksi
      Berikan keterangan untuk awal statement atau instruksi yang tergabung dalam sekelompok statement.
      Awal dan akhir statement dari sekumpulan statement ditulis pada kolom yang sama.
      Gunakan sebaris atau beberapa baris kosong sebagai pemisah.
      Hindari pernyataan untuk Percabangan (IF statement ) yang sangat rumit dan Nested Loop (Loop disalam Loop lain) yang berlebihan.
      Gunakan “kurung buka dan tutup” dalam menulis suatu ekspresi Aritmatika atau logika.
      Gunakan “Spasi” dalam menulis statement atau instruksi.


Sifat Penulisan Program
Program Oriented
Penulisan program yang struktur programnya selalu berubah, apabila kondisi data yang diproses di dalam program tersebut, bertambah volume datanya. Selain itu penulisan program ini bersifat statis dan tidak fleksibel (program animasi)
Data Oriented
Penulisan program yang struktur programnnya tidak selalu berubah, walaupun volume data yang diproses di dalam program tersebut, dalam jumlah besar. Selain itu pula penulisan program ini bersifat dinamis dan mempunyai tingkat fleksibilitas yang tinggi.

Kualitas Bahasa Pemrograman
Ø  Ekspresifitas : Bahasa pemrograman yang baik harus jelas dalam menggambarkan algoritmanya yang dibuat.
Ø  Definitas (dapat didefinisikan dengan baik) : Bahasa Pemrograman dapat didefinisikan dari adanya sintak dan semantic baik. Sintak dan semantic ini haruslah konsisten dan tidak bermakna ganda.
Ø  Tipe data dan Strukturnya : Bahasa pemrograman yang baik harus berkemampuan dalam mendukung berbagai tipe data (integer, string,real). Serta struktur data (array, record,file)
Ø  Modularitas :Bahasa pemrograman yang baik harus memiliki fasilitas sub program. Program yang besar dapat dikerjakan oleh beberapa pemrogram secara bersama-sama yang nantinya dengan mudah dapat digabungkan menjadi sebuah modul saja.
Ø  Adanya Input Output : Bahasa pemrograman yang baik harus dapat mendukung berbagai jenis model file seperti sequential, random, index dsb dalam proses masukan dan keluaran.
Ø  Portabilitas: Bahasa pemrograman yang dapat digunakan pada berbagai tipe mesin computer yang berbeda-beda.
Ø  Efisiensi : Bahasa pemrograman yang dapat mengatur banyaknya instruksi program dalam membatasi waktu tempuh pemrosesan, mengatur jumlah memori yang digunakan program,.
Ø  Interaktif : Bahasa pemrograman yang baik harus mudah dipelajari dan diajarkan pada user. Serta dimengerti tentang proses yang sedang dilakukannya.
Ø  Umum  : Bahasa pemrograman yangn baik harus memiliki jangkauan yang luas untuk berbagai aplikasi pemrograman sehingga dapat bersifat bahasa serbaguna.

K.    ARRAY
Definisi
  1. Koleksi data yang tipenya sama, tersusun dalam bentuk barisan berurutan dan jumlah elemen atau datanya tidak berubah sesuai deklarasi awal.
  2. Struktur data yang mengacu pada sekumpulan elemen yang diakses melalui index

Jenis-jenis araay
      Array 1 Dimensi
      Array 2 Dimensi



KAMUS DATA
      KAMUS
ü  Nama         : array [1..400] of string
ü  Panjang     : array [a...e] of real   
ü  Type TITIK : record < X : real, Y : real>
                        Kurva              : array [0 .. 30] of Titik

Pemrosesan/operasi array
Ø  Input elemen/index ke dalam array
ALGORITMA
For Indeks := 1 to 8 do
 Begin
     write(‘Nilai [indeks] =  ’);readln(indeks[1])
  end;
Menentukan nilai terbesar dari sebuah array
ALGORITMA
Maks = A[1]
For    Indeks := 2 to 8    do
If A[Indeks] > Maks then
Maks = A[Indeks]
End;
Writeln(‘Nilai Terbesar =  , Maks’)

Menjumlahkan nilai array
ALGORITMA
            JUMLAH := 0
            FOR i := 1 to n do
            BEGIN
                        JUMLAH := JUMLAH  + NILAI[I]
            END;

PROSES BENTUK LAIN
ALGORITMA
For    Indeks    := 1 to 8    do
Proses Larik
End;

Panjang array/larik
Panjang = UB - LB + 1
dimana:
UB - upper bound ( indeks terbesar)
LB - lower bound (indeks terkecil)

Contoh :   Seorang pedagang mobil menggunakan larik untuk menyimpan data penjualan dari tahun 1990 sampai dengan tahun 2001.  Berapa panjang (jumlah elemen) larik yang harus disediakan?
            LB = 1990
            UB = 2001
            Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1    =  12
Pengalamatan

LOK(LA[K]) = Awal(LA) + W(K - LB)
 di mana:
LOK(LA[K]) – lokasi elemen dengan indeks K, yang dicari
K                     -- Indeks yang dicari
Awal (LA)      -- Lokasi awal dari larik
W                    – jumlah byte untuk menyimpan 1 elemen larik
LB                   -- lower bound / batas bawah

LOK(LA[K]) = Awal(LA) + W(K - LB)
Contoh:
Misalkan Awal (Jual) = 100 dan W= 4, maka
LOK (JUAL[1990]) = 100
LOK (JUAL[1991]) = 104
LOK (JUAL[1992]) = 108

Berapa lokasi JUAL[2000] ?  untuk mendapat lokasi tersebut 

LOK(LA[K]) = Awal(LA) + W(K - LB)
                        = 100 + 4 * (2000 – 1990)
                        = 140
Ketentuan/rules
Ø  Kumpulkan berbentuk print out
Ø  Dikumpulkan minggu depan
Ø  No copas, couse’ if u do that your value of your task are zero.
Ø  Do it by your own.
Ø  Trust your ability
Ø  Good luck always

L.     RECORD
Sebuah record rekaman disusun olehbeberapa field. Tiap field berisi data daritipe dasar / bentukan tertentu. Recordmempunyai kelebihan untuk menyimpansuatu sekumpulan elemen data yangberbeda-beda tipenya (di banding array).
Contoh , sebuah record dengan empatbuah field
Cara Pendefinisian
Ø  Cara pendeklarasian dari record adalah sbb:

Ø  Mendefinisikan tipe dari record (jumlah field, jenistipe data yang dipakai),
Ø  Mendefinisikan variabel untuk dilakukan operasi.
Sintax
type
nama_record = record
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;

Contoh
type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
Pengaksesan Elemen Record
x.Nama
x.Usia
x.Kota
x.Kodepos

Contoh Program
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah
',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.

Pengunaan With … do
Pernyataan with untuk lebihmenyederhanakan pengaksesan field-fieldpada record. Pemrograman dapatmengakses field cukup denganmenyebutkan nama field-nya saja.
o   x.Nama
x.Usia
x.Kota
x.Kodepos diganti
o   with x do
Begin
Nama
Usia
Kota
Kodepos
End

Contoh
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.

M.   Tumpukan[stack]
Kumpulan elemen-elemen data yang disimpan dalam satu lajur linier. Kumpulan elemen-elemen data hanya boleh diakses pada satu lokasi saja yaitu posisi atas (top) tumpukan.Elemen-elemen di dalam tumpukan dapat bertipe data integer, real, record dalam bentuk sederhana atau terstruktur.
Const
MAKSTUM = 80 ; {Kapasitas maksimal dari tumpukan}
Type
JenisElemen = char ;
Tumpukan = record
Elemen : array [1 … MAKSTUM] of JenisElemen ;
Atas : 0 … MAKSTUM;
End;
Notasi aritmetik biasa ditulis dalam notasi infix, misalnya a + b – c. Notasi infix mudah dimengerti oleh manusia, hanya saja dalam notasi infix perlu diperhatikan prioritas pengerjaan karena berhubungan dengan hirarki operator pada komputer. Prioritasnya adalah :
1.      Tanda kurung : (…..)
2.      Ekspnensial atau pangkat : ^
3.      Perkalian, pembagian : * , /
4.      Penjumlahan, pengurangan : + , -
(A – B) * (C + D)
1.      Dalam kurung yang paling kiri : (A – B)
2.      Dalam kurung yang paling kanan : (C + D)
3.      Perkalian hasil pengurangan dengan hasil penjumlahan

Notasi INFIX untuk penulisan aritmatik, biasa diubah ke dalam notasi PREFIX atau POSTFIX saat kompilasi. Notasi PREFIX maupun POSTFIX akan lembih mudah dikerjakan oleh komputer, karena tidak perlu mencari urutan pengerjaan sepertai pada notasi INFIX.
PREFIX adalah keadaan dimana simbol operator diletakkan sebelum dua operand. POSTFIX adalah keadaan di mana simbol operator diletakkan sesudah dua operand.

N.    ANTRIAN[QUEUE]
Merupakan suatu struktur data linear. Konsepnya hampir sama dengan tumpukan, perbedaannya adalah operasi penambahan dan penghapusan pada ujung yang berbeda. Penghapusan dilakukan pada bagian depan (front) dan penambahan berlaku pada bagaian belakan (rear).
Elemen-elemen di dalam antrian dapat bertipe data integer, real, record dalam bentuk sederhana atau terstruktur.

Const
MAKSQ = 80 ; {Kapasitas maksimal dari antrian}
Type
JenisElemen = char ;
Antrian = record
item : array [1 … MAKSQ of JenisElemen ;
Depan : 0 … MAKSQ;
Belakang : 0 … MAKSQ;
End;
Q : Antrian



sirkuler.gif
Antrian Sirkuler, prinsipnya sama dengan antrian biasa, untuk mempermudah penggambaran lajur liner digambarkan dalam bentuk melingkar. Untuk penambahan elemen baru pada antrian sirkuler ini, jika BELAKANG = MaksQ = 8, maka BELAKANG diset menjadi 1 (bila Antrian belum penuh)

O.    POINTER
Pengertian Pointer
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatuvariabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalammemori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertamadikatakan menunjuk ke variabel kedua
Operator Pointer ada dua, yaitu :
Ø  Operator &
Operator & bersifat unary (hanya memerlukan satu operand saja).
Operator & menghasilkan alamat dari operandnya.
Ø  Operator *
Operator * bersifat unary (hanya memerlukan satu operand saja).
Operator * menghasilkan nilai yang berada pada sebuah alamat.

Deklarasi Pointer

Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan.
Bentuk Umum :
Tipe_data *nama_pointer;

Operasi Pointer

Ø  Operasi Penugasan
Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasipenugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain.
Ø  Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integersaja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (indexselanjutnya) dalam memori. Begitu juga operasi pengurangan.
Ø  Operasi Logika
Suatu pointer juga dapat dikenai operasi logika.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews