Rabu, 08 Oktober 2014

Sejarah Algoritma

Abu Ja'far Muhammad Ibnu Musa Al-Khawarizmi adalah Seorang Ahli Matematika dan Astronomi dari Persia, penulis buku " Aljabar wal Muqobala " yang artinya " Buku Pemugaran dan Pengurangan " (The book of Restoration and Reduction)beberapa abad yang lalu (diperkirakan wafat pada Tahun 850). Dari judul buku tersebut, Kita juga memperoleh kataAljabar ” atau biasa dikenal dengan Algebra. Abu Ja'far Muhammad Ibnu Musa Al-Khawarizmi dianggap sebagai pencetus pertama Algoritma, karena didalam buku tersebut Abu Ja'far Muhammad Ibnu Musa Al-Khawarizmi menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan Aritmetika (Aljabar). Kemungkinan besar kata Algoritma diambil dari kata Al-Khawarizmi yang kemudian berubah menjadi Algorism , selanjutnya menjadi Algorithm .

Penggunaan Pertama
Pada Tahun 1950, Algoritma pertama kali digunakan pada Algoritma Eucliden (Euclid Algorithm). Euclid sendiri merupakan seorang Matemaitkawan Yunani yang lahir sekitar 350 SM. Euclid menulis buku yang berjudul Element. Didalam buku tersebut, dijelaskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat, yakni m dan n. Namun, Eucliden pada saat itu tidak menyebutkan bahwa cara yang digunakannya adalah metode algoritma. Hal tersebut baru disebut sebagai algoritma pada abad-abad modern.

Selasa, 07 Oktober 2014

Cara Mudah Belajar Algoritma dan Pemrograman

Apa Kalian pernah dengar kata Algoritma? atau tidak tahu sama sekali? pasti ada pertanyaan baru " Apa itu Algoritma? untuk apa kita belajar algoritma? ". Langsung saja baca artikel saya, agar sedikit tahu apa itu Algoritma.
Algoritma adalah Susunan langkah-langkah untuk menyelesaikan suatu persoalan secara logis,efisien dan terstruktur.

Flowchart adalah Penggambaran algoritma menggunakan simbol-simbol khusus.

Pseudocode adalah Penulisan algoritma menggunakan serangkaian kata-kata menyerupai bahasa pemrograman komputer.

Pemrograman adalah Teknik komando/instruksi standar untuk memerintah komputer.


Pengolahan data terdiri dari :

  • Input
  • Proses
  • Output

Program Komputer terdiri dari :

  • Program
  • Pemrograman
  • Interpreter
  • Compiler

Program : Kumpulan intruksi yang di susun sedemikian rupa agar komputer melakukan tindakan tertentu.

Pemrograman : Kegiatan pembuatan program computer untuk menyelesaikan persoalan tertentu.

Interpreter : Metode penerjemahan kode program secara baris demi baris untuk kemudian langsung dikerjakan oleh computer. Kesalahan yang terdapat dalam kode program akan menyebabkan proses terhenti di tengah jalan.

Compiler : Penerjemahan kode program secara keseluruhan sebelum di kerjakan oleh computer. Seluruh kode program sudah di pastikan dalam kondisi benar sebelum di jalankan.

PROGRAM
  • Definisi
    • Kata,ekpresi,pernyataan,kombinasinya yang disusun dan dirangkai menjadi 1 kesatuan prosedur(yang) Berupa urutan langkah untuk menyelesaikan masalah(dan) Diimplementasikan dengan menggunakan bahasa pemrogaman(sehingga)Dapat dieksekusi oleh komputer
PEMROGAMAN TERSTRUKTUR
  • Definisi
    • Pemrogaman yang memiliki rancang bangun terstruktur dan tidak berbelit-belit(sehingga) Mudah ditelusuri,dipahami,dan dikembangkan oleh siapa saja
BAHASA PEMROGAMAN
  • Definisi
    • Prosedur/data cara penulisan program
  • Dua faktor penting
    • Sintaks, aturan gramatikal yng mengatur tata cara penulisan kata
    • semantik, aturan untuk menyatakan arti
  • Fungsi
    • Sebagai media untuk menyusun dan memahami progam
    • Sebagai alat komunikasi antara pembuat program(progammer) dengan computer
    • Sebagai alat komunikasi antara orang yang satu dengan yang lain
  • Klasifikasi
    • Low level language
      • Berorientasi pada mesin progammer harus dapat berpikir berdasarkan logika mesin komputer
      • Kurang fleksibel dan sulit dipahami oleh pemula
      • contoh=Assembly
    • Midle level language
      • Menggunakan aturan gramatikal dalam penulisan ekpresi atau pernyataan
      • Menggunakan standar bahasa yang mudah dipahami oleh manusia
      • Memiliki instruksi tertentu yang dapat langsung diakses oleh komputer
    • High
      • Memiliki aturan gramatikal dalam penulisan ekpresi atau pernyataaan
      • menggunakan standar bahasa yang dapat dipahami secara langsung oleh manusia
    • Object
      • mengandung kapsul yang berisi funsi-fungsi untuk menyelesaikan masalah
      • progremmer cukup memasukkan kriteria-kriteria  yang dikehendaki untuk menyelesaikan masalah
      • Contoh:c++,visual basic,visual foxpro,java  
PENDEKATAN BAHASA PEMROGRAMAN 
  • Daerah pendekatan   
  •   Tipe data   
  •  Operator  
  • Sintaks(tata tulis)statemet
  • Pengolahan data
1.       Tipe data
2.       Variable
3.       Kostanta
4.       Operator
5.       Ekspresi
         i.            Tipe data
Yang bisa diproses computer ada 3 jenis:
Numerik:tipe data yang lain hanya merupakan pengembangan dan interpretasi lain dari data bertipe numeric.
  • data numeric ada 2 jenis data:
  1. bilangan bulat   Dari jangkauan data,tipe data pecahan memiliki range lebih besar dibandingkan dengan tipe data bilangan bulat
  2. bilangan pecahan   Bilangan pecahan memiliki lokasi extra dalam memory
 Tipe data karakter
  • Ada 2 jenis:
  1. karakter tunggal(char) Data untuk karakter tunggal harus 1 data kerakter,sedangkan data untuk string boleh berupa nol(0) atau lebih karakter.dari sis jangkauan data,tipe data string memiliki range lebih besar dibandingkan dengan tipe data char
Tipe data logika
Data logika adalah kondisi benar atau salah
1.status 0=salah
2.status 1=benar
Subuah data logika menggunakan 1 byte memori.ukuran memory dinyatakan dengan satuan BYTE
PEMILIHAN TIPE DATA
1.sesuai dengan jenis data yang akan diolah
-pemilihan tipe data desua dengan jenis data yang akan diolah .
Analisis setiap jeniis data yang akan diolah secara seksama tidak setiap data numeric  akan diproses secara numeric ada kalanya data bertype numeric akan diproses secara string.misalnya:nomor tlp,nomor induk mahasiswa,nomor KTP dll.
2.susuai dengan kebutuhan memory
 -pilihlah tyipe data yang sesuai dengan kebutuhan pengolahan data DAN yang menggunakan memory secara efesien
Contoh:data numeric dengan tipe pecahan terbagi menjadi tipe FLOAT dan DOUBLE, kedua tipe data ini sama-sama mengolah data.bilangan pecahan,tetapi berbeda dalam pemakaian momory karena range keduanya  berbeda.
ii VARIABEL
1.       Sebutan bagi lokasi memory yang digunakan untuk menyimpan data. Contoh;variable 1b
2.       Hanya bias menyimpan sebuah data dengan tipe tertentu
3.       Penyimpanan data baru akan menghapus data lama
4.       Selama proses berlangsung,isi variabel bias diubah-ubah
Penanaman variabel
1.       Diawali dengan huruf kecil .kata berikutnya diawali dengan huruf capital
2.       Tidak boleh mengandung spasi atau symbol khusus seperti []_=?.
3.       Lebih dari satu kata harus ditulis dempet.
4.       Variabel string maupun char diakhiri dengan kerkter $
Penanaman yang salah
satu gaji(diawali dengan angka),total- pendapatan(ada minus),nama mahasiswa(ada spasi),alamat-2(ada minus)
konstanta
1.       Sebutan bagi lokasi memory yang digunakan untuk menyimpan data
2.       Hanya bias menyimpan sebuah data dengan tipe tertentu
3.       Penyimpan data haya bisa dilakukan diawali proses
4.       Selama proses berlangsung,isi konstanta tidak boleh diubah
iii    OPERATOR
1.       Karekter khusus yang digunakan untuk melakukan proses tertentu
2.       Memerlukan data untuk diproses disebut operand
3.       Ada yang bersifat unary(membutuhkan satu operand)
4.       Ada yang bersifat binary(membutuhkan 2operand)
Jenis-jenis operator
1.       Operator matematika :digunakan untuuk melakukan proses matematika
=:pemberian nilai
+:penjumlahan
-:pengurangan
*:perkalian
/:pembagian
%:modulus(sisa bagi)
2    Operator relasi:digunakan untuk melakukan proses perbandingan
= =:persamaan
   :pertidaksamaan
>  :lebih dari
  :lebih dari atau sama dengan
<  :kurang dari
  :kurang dari atau sama dengan
3.       Operator logika:digunakan untuk melakukan proses logika
AND:logika dan
OR:logika or
Hasil proses akan bernilai salah atau benar
iv ekspresi
-Ekspresi matematika:
3*4-5+2/52
1.  ((3*4)-5)+(2/(52))
2.  (12-5)+(2/25)
3.  7+0,08
4.  7,08
-ekspresi rasional
10 ==3
103
10>3
103
10<3
103
-ekspresi logika
 Cuaca_cerah AND jalanan_ramai 
Ada_angkutan OR ad_tumpangan
-ekspresi gabungan
 (x+y>z)AND(a*b<c)
PSEUDOCODE
  • Pseudocode digunakan untuk menuliskan algoritma menggunakan serangkaian pernyataan yang ditulis dalam bahasa sehari-hari
  • Setiap pernyataan dalam pseudocode ditulis dalam sebuah nomor baris.yang menyatakan nomor urut pernyataan jika sebuah nomor memiliki sub kegiatan,maka digunakan aturan penomoran secara in don’t
  • Pembacaan pseudocode dilakukan secara baria-demi-baris
  • Pada kondisi tertentu ada kalanya pembaca pseudocode tidak dilakukan urutan dari baris 1 kebaris selanjutnya,akan tetapi melompat kebaris yang lain
  • Terdapat ada beberapa keyword atau kata kunci yang digunakan untuk menulis pseudocode.
Keyword pada pseudocode:
1.BEGIN
2.END
3.IF_THEN
4.IF_THEN_ELSE
5.WHILE
6.FOR
FLOWCHART
  • FLOWCHART DIGUNAKAN untuk menuliskan algoritma menggunakan serangkaian symbol khusus
  • Setiap pernyataan dalam flowchart ditulis dalam sebuah symbol.beberapa keyword yang ditulis didalam symbol,mendahului pernyataan dimaksud
  • Terdapat symbol garis berarah yang menyatakan arah proses berikutnya dari suatu symbol. Pembacaan flowchart dilakukan dari satu symbol kesimbol lain mengikuti arah yang ditunjuk oleh garis bawah
      Symbol pada flowchart
  • ·         TERMINATOR   AWAL flowchart
                                     AKHIR flowchart                                
  • ·         ARROW
→ ARAH PROSES HORISONTAL         ↓ARAH PROSES VERTIKAL
  • ·         PROCCES

Berikut ini adalah contoh yang menggambarkan penulisan algoritma untuk membandingkan suatu bilangan yang lebih besar diantara dua buah bilangan yang dimasukkan oleh pengguna menggunakan teknik program flowchart.


Membandingkan 2 Bilangan Bulat


  
Structured System Flowchart

Bagan alir system (system flowchart) adalah suatu bagan yang menggambarkan arus logika dari suatu masalah yang akan dikerjakan. Pengerjaannya diwaali dari mulai dan diakhiri dengan selesai. Kegunaan bagan alir system ini adalah untuk menjelaskan logika suatu masalah serta menjelaskan komponen komponen fisik dari suatu sistem
Beberapa simbol sistem flowchart yang sering digunakan seperti di bawah ini



 


 Terima kasih telah berkunjung di blog BadaiKhaironRomadhon.blogspot dan telah membaca Artikel 
" Cara Mudah Belajar Algoritma dan Pemrograman "