APA ITU ALGORITMA DAN STRUKTUR DATA ?

Posted on
  • ALGORITMA

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis disini berarti benar sesuai dengan logika manusia. Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar – – ASAL-USUL KATA ALGORITMA 
a. Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi dibaca orang Barat menjadi algorism. Kata algorism berarti proses menghitung dengan angka Arab. Seseorang dikatakan algorist jika orang tersebut menggunakan  angka Arab.
b. Kata algorism lambat laun menjadi algorithm disebabkan kata algorism sering dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata algorithm diserap ke  dalam bahasa Indonesia menjadi algoritma.

Algoritma merupakan deskripsi urutan pelaksanaan suatu proses , Algoritma tersusun oleh sederetan langkah instruksi yang logis  Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi)   Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU

motivasi untuk membuat algoritma .
Algoritma : prosedur untuk menyelesaikan masalah. Seringkali satu masalah dapat diselesaikan dengan lebih dari satu cara (banyak kemungkinan).
Program: representasi formal dari suatu algoritma dengan menggunakan bahasa pemrograman yang bisa dimengerti oleh komputer.
Proses : aktivitas menjalankan langkah-langkah dalam algoritma.

HAL YANG HARUS DIPENUHI DALAM MEMBUAT ALGORITMA
Input : data yang harus diberikan pada komputer
Output: informasi yang akan diperoleh dari komputer
Logika: Merencanakan proses program. Terdiri dari sejumlah instruksi yang mengubah input menjadi output yang diinginkan.

DEFINISI LOGIKA
Logika identik dengan masuk akal dan penalaran. Penalaran adalah salah satu bentuk pemikiran. Pemikiran adalah pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran mungkin benar dan mungkin juga tak benar.  Definisi logika sangat sederhana yaitu ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku  Pelajaran logika menimbulkan kesadaran untuk menggunakan prinsip-prinsip untuk berfikir secara sistematis.

CONTOH ALGORITMA
– Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
Algoritmanya :
a. Masukkan bilangan yang akan ditentukan
b. Bagi bilangan dengan bilangan 2
c. Hitung sisa hasil bagi pada langkah b.
d. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan
genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu
adalah bilangan ganjil

PROGRAM
• Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah.
• 3 level bahasa pemrograman:

1.BAHASATINGKAT RENDAH
Bahasa mesin
Berisi: kode-kode mesin yg hanya dapat diinterpretasikan langsung oleh mesin komputer.
Berupa kode numerik 0 dan 1
Microcode: sekumpulan instruksi dalam bahasa mesin
(+) : Eksekusi cepat
(-) : Sulit dipelajari manusia

2. BAHASATINGKAT MENENGAH
BahasaAssembly
Bahasa simbol dari bahasa mesin Contoh:ADD, MUL,
SUB, dll
Macro instruksi: sekumpulan kode dalam bahasa assembly
(+) : Eksekusi cepat, masih dapat dipelajari daripada bahasa mesin, file kecil
(-) :Tetap sulit dipelajari, program sangat panjang

3. BAHASA TINGKAT TINGGI
The 3rdGeneration Programming Language
Lebih dekat dengan bahasa manusia
Memberi banyak fasilitas kemudahan dalam pembuatan program, mis.: variabel, tipe
data, konstanta, struktur kontrol, loop, fungsi, prosedur, dll
Contoh: Pascal, Basic,C++,Java
(+) : Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode
program pendek
(-) : Eksekusi lambat

TRANSLATOR
• Translator: penerjemah dari bahasa tingkat tinggi ke bahasa tingkat
rendah.
• Assembler, Interprenter, danCompiler
• Assembler merupakan penerjemah bahasaAssembly ke bahasa mesin.

INTERPRETER
Perintah diterjemahkan baris demi baris jadi program tidak dianalisis
seluruhnya dulu tapi bersamaan dengan jalannya program.
(+) : mudah bagi user, debugging cepat
(-) : eksekusi program lambat, tidak langsung menjadi program executable
Contoh: Basic, List

KONSEP STRUKTUR DATA
Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang tepat didalam proses pemrograman, akan menghasilkan Algoritma yang lebih jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana .

TYPEDATA
1. Type data sederhana
a. Type data sederhana tunggal, misalnya
Integer, real, boolean dan karakter
b. Type data sederhana majemuk, misalnya
String
2. Struktur Data,meliputi
a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari
Linier : Stack,Queue, serta List dan Multilist Non Linier : Pohon Biner
danGraph
Pemakaian struktur data yang tepat di dalam proses pemrograman akan
menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program
secara keseluruhan lebih efisien dan sederhana

BELAJAR MEMPROGRAM DAN BELAJAR BAHASA PEMROGRAMAN
Belajar metodologi memprogram adalah belajar pemecahan masalah, tentang kemudian menuangkannya dalam suatu notasitertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja .

NOTASI ALGORITMA
• Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya.
• Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

OUTLINEALGORITMA DANSTRUKTUR DATA
• Logika Pemrograman Pengertian dasar algoritma
• Algoritma dan Flowchart
• Array, Record dan pointer
• Fungsi dan Prosedur
• Searching dan sorting
• Stack dan queue
• Linked list
• Rekursif
• Tree
• Hashing

MEMBUAT SEBUAH PROGRAM
– Defining the problem : Mendefinisikan apa yang akan dilakukan atau yang dihasilkan oleh program
– Planning : Mendefinisikan langkah-langkah, membuat flowchart
– Programming : Menuliskan program, termasuk perbaikan eror dan testing
– Documentation : Menambahkan komentar dan “membukukan” program
– Implementation : Pengembangan, membuat program semakin baik

PROGRAMMING
– Merubah langkah-langkah ke instruksi-instruksi / bahasa pemrograman
– Debug – Mengoreksi eror/kesalahan
– Kesalahan sintak
– Kesalahan grammar yang mudah ditemukan
– Kesalahan logical
– Program berjalan & bekerja tetapi menghasilkan output yang salah atau tidak sesuai harapan.
– Dapat ditemukan melalui testing

IMPLEMENTATION / PENERAPAN 
– Meminta orang lain untuk menjalankan program
– Menjadikan lebih user friendly termasuk input & output
– Menjadikan lebih eficien (lebih sedikit baris)
– Menjadikan waktu eksekusi cepat
– Menambahkan tampilan akhir, dll.

FLOWCHART
Suatu diagram yang menggunakan simbol-simbol khusus yang menunjukkan langkah-langkah sebuah program . APAKAH ITU  FLOWCHART?
– Sebuah diagram yang dibangun oleh berbagai macam bentuk simbol yang saling terhubung dengan garis-garis beranak panah.
– Simbol-simbol tersebut mengindikasikan aksi apa yang akan dilakukan atau keputusan apa yang akan dibuat.
– Bisa juga digunakan untuk menggambarkan proses yang kompleks ketika terjadi gabungan antara aksi dan pengambilan keputusan.
– Flowchart membantu dalam planning & programming.

Flowchart digunakan juga untuk Langkah-langkah dalam suatu proses Keputusan yang dibuat dalam proses tersebut Data penting yang digunakan dalam langkah-langkah tersebut, jika data tersebut penting .

KRITERIA ALGORITMA PEMROGRAMAN
1. Memiliki logika perhitungan / metode yang tepat untuk memecahkan masalah.
2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat.
3. Ditulis dengan bahasa yang standard secara sistematis, sehingga tidak menimbulkan arti ganda Ditulis dengan format yang mudah dipahami
sehingga mudah diimplementasikan ke dalam bahasa pemrograman.
5. Semua operasi yang dibutuhkan terdefinisi dengan jelas dan selalu berakhir setelah sejumlah langkah dilakukan.

 

x
Advertisements

Leave a Reply

Your email address will not be published.