Jumat, 20 September 2013

135623078 - NUR ARINDAH .R. TYAS, DASAR PEMOGRAMAN UNESA


Definisi dari dasar teori pemrograman  dan algoritma yaitu kumpulan instruksi – instruksi tersendiri  yang disebut source code yang di buat oleh programmer.
Beberapa definisi Algoritma adalah  seperti berikut ini :
§  Pola pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
§  Urutan logis pengambilan keputusan untuk pemecahan masalah.
§  Urutan langkah berhingga untuk memecahkan masalah logika dan matematika
Sedangkan definisi dari Pemrograman yaitu Proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.

Karakteristik Algoritma
1.    Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.
2.    Setiap langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”
3.    Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
4.    Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
5.    Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.

FLOWCHART

Pengenalan Flowchart

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

Pengenalan Flowchart

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

simbol - simbol Flowchart



Kaidah-kaidah pembuatan Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
  1. Input berupa bahan mentah
  2. Proses pengolahan
  3. Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;
  • START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani  pemecahan masalah.
  • READ: berisi instruksi untuk membaca data dari suatu peralatan input.
  • PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  • WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
  • END: mengakhiri kegiatan pengolahan

Gambar berikut memperlihatkan flowchart dari kegiatan dasar diatas.
Dari gambar flowchart di atas terlihat bahwa suatu flowchart harus terdapat proses persiapan dan proses akhir. Dan yang menjadi topik dalam pembahasan ini adalah tahap proses. Karena kegiatan ini banyak mengandung variasi sesuai dengan kompleksitas masalah yang akan dipecahkan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran yaitu:
  • Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
  • Penggambaran flowchart yang simetris dengan arah yang jelas.
  • Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

PSOUDECODE

Pseudocode - Pengertian dan Pengantar

Pseudocode adalah salah satu cara untuk menterjemahkan sebuah Algoritma pemrograman dengan bahasa tingkat tinggi (bahasa yang dimengerti manusia); dideskripsikan sangat mudah untuk bisa dimengerti.

Secara standart, pseudocode dituliskan menggunakan bahasaSimple English. Tidak ada tata cara menulis (syntax) yang baku untuk menuliskan Pseudocode karena tidak diperuntukan dijalankan pada bahasa pemrograman tertentu.

Dengan Pseudocode, kita mampu menterjemahkan operasi dasar dari pemrograman. Operasi dasar tersebut adalah :
  • Program pasti dapat menerima masukan (input) dan mengeluarkan hasil (output).
  • Program mampu melakukan perhitungan aritmatika
  • Program mampu memberikan nilai pada sebuah nama dari sebuah lokasi memory (variable)
  • Program melakukan kontrol pemilihan dan pengulangan
Secara ringkasnya dasar operasi dari seluruh program dan aplikasi yang dibuat akan meliputi 3 komponen :
  • Variabel : tempat untuk menyimpan data
  • Struktur Kontrol : 'Sequence', 'Selection', dan 'Repeatation'
  • Modular : 'Procedure', 'Function', dan 'Recursive'

 Bahasa pemrograman

Ø  Bahasa Pascal

Larik dalam bahasa Pascal dapat didefinisikan dengan indeks awal dan indeks akhirnya.
Contoh:
program larik;
var arr: array[1..10] of integer;  //larik dengan indeks awal 1 dan indeks akhir 10
begin
  arr[1] := 5; //memasukkan nilai ke indeks 1
  writeln(arr[i]); //mencetak angka 5
end.

Ø  Bahasa C

Larik dalam bahasa C selalu dimulai dari indeks 0. Larik dapat didefinisikan secara statik atau dinamik. Jika didefinisikan statik, ukuran larik akan tetap dari awal program hingga akhir program. Jika didefinisikan dinamik, ukuran larik dapat berubah selama program berjalan karena memesan tempat pada memori heap. Proses pemesanan tempat pada memori disebut dengan alokasi. Sedangkan proses pembebasan memori yang sudah dipesan disebut dengan dealokasi.
Contoh larik statik:
#include <stdio.h>
int main(){
  int arr[10]; //indeks awal 0 dan indeks akhir 9
  arr[0] = 5;
  printf("%d\n", arr[0]);
}
Contoh larik dinamik:
#include <malloc.h>
int main(){
  int * arr;
  arr = (int *) malloc(10 * sizeof(int)); //memesan 10 tempat pada memori
  arr[0] = 5;
  free(arr);                              //menghancurkan larik. Memori pada heap dibebaskan
  arr = (int *) malloc(5 * sizeof(int));  //memesan 5 tempat baru pada memori
  free(arr);                              //di akhir program jangan lupa untuk menghancurkan larik dinamik
}

Ø  Bahasa Java

Dalam bahasa Java tipe data larik direpresentasikan sebagai sebuah objek khusus. Karena itu pada bahasa Java larik yang dibuat selalu bersifat dinamik. Namun walaupun bersifat dinamik, larik pada bahasa Java tidak perlu dihancurkan karena proes penghancuran dilakukan secara otomatis melalui suatu prosedur yang disebut dengan Pengumpulan sampah (Inggris: Garbage Collecting).
Sama seperti bahasa C, indeks larik selalu dimulai dari 0.
Contoh:
public class larik {  
  public static void main(String args[]) {
    int[] arr = new arr[10];
    arr[0] = 5;
    System.out.println(arr[0]); 
  }  
}

Ø  PHP

Sama seperti di JAVA larik di PHP juga merupakan sebuah object lebih tepatnya lagi map terorder. Ada dua tipe larik di PHP, indexed array (simple array) dan associated array (key=>value array). Di PHP, element larik bisa berupa string, Bilangan, boolean, dan semua tipe data primitive lainnya, termasuk larik juga bisa menjadi element larik lainnya.
Cara medefinisikan larik:
#mendefinisikan array kosong 
$larik = array();
Contoh indexed array (simple array):
$jam = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
$hari = array('senin', 'selasa', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu');
Contoh associated array:
$bulan = array('1'=>'January', '2'=>'February', '3'=>'Maret', '4'=>'April');
 
$komponenKalender = array(
  'bulan'=> array(1, 2, 3, 4, 5, 6, 7, 8, 9 ,10 , 11, 12),
  'hari' => array('senin', 'selasa', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu')
);


LANGKAH-LANGKAH PENYELESAIAN MASALAH


1.     a ) siapkan gelas c
b ) tuangkan isi gelas A - C
c ) lalu tuangkan isi gelas B – A
d ) terakhir tuangkan C – B

2.     a) A di isi 5 lt, B tetap kosong
b) A di tuangkan ke B, A jadi 2 lt dan B  3 lt dan B di buang
c) A tetap 2 lt dan B kosong, lalu A di tuangkan ke B
d) A jadi 0 lt dan B jadi 2 lt, lalu A di isikan lagi jadi 5 lt
e) A di tuangkan ke B , A jadi 4 lt dan B jadi 3
f) B dibuang , selesai

3.   ( plastelina game)

             a) 1 dan 3 Berangkat
b) 1 Kembali
c) 1 dan 6 Berangkat
d) 1 kembali
e) 8 dan 12 Berangkat
f) 3 kembali
g) 3 dan 1 Berangkat 

4.      (Canibal Game)

     a) 1 Canibal dan 1 Rahib berangkat
b) kembali Rahib
c) 2 Cannibal berangkat
d) kembali 1 Canibal
e) 2 Rahib  berangkat
f) kembali 1 Rahib
g) 2 Rahib berangkat
h) kembali 1 Canibal
i) 2 Canibal berangkat
j) kembali 1 Canibal
k) 2 Canibal berangkat
l) kembali 1 Canibal
m) 2 Canibal berangkat, selesai

                5.    (wolf game)

                   a)  Petani dan kambing berangkat
b) petani kembali
c) petani dan serigala berangkat
d) kambing dan petani kembali
e) petani dan rumput berangkat
f) petani kembali
g) petani dan kambing berangkat, selesai

REFERENSI
            

Tidak ada komentar:

Posting Komentar