Selasa, 08 Agustus 2017

Algoritma

Alhamdulillah... Berkat Rahmat Allah yang maha kuasa dan maha esa saya dapat menulis di blog saya lagi... 😁

Ya kali ini saya akan membahas tentang algoritma yang saya pelajari disekolah saya...👍

A.Defisini Algoritma

Ada beberapa definisi algoritma diantaranya adalah :

1.Algoritma adalah penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan matematis.

2.Algoritma adalah suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.

3.Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi data input menjadi output yang berupa informasi.


·Sejarah Algoritma

Sejarah mencatat bahwa algoritma berasal dari sebuah kata al-khawarizmi yang berasal dari seorang muslim yang bernama lengkap Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi, beliau merupakan ahli matematika dan astronomi dari Persia, dan juga merupakan penulis buku “Aljabar wal Muqobala”. Beliau dianggap sebagai pencetus pertama algoritma karena di dalam buku tersebut Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan arirmatika (aljabar).



·Ciri-ciri Algoritma

Menurut Donald E. Knuth penulis buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu :

1.Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas.

2.Setiap langkah harus didefinisikan dengan tepat, sehingga tidak memiliki arti ganda, tidak membingungkan (not ambiguous)

3.Memiliki masukan (input) atau kondisi awal

4.Memiliki keluaran (output) atau kondisi akhir

5.Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan masalah.


·Sifat Algoritma

Sesuai dengan ciri-ciri dari algoritma pada penjelasan di atas, maka dapat disimpulkan bahwa sifat suatu algoritma adalah :

1.Input : Suatu algoritma mempunyai input atau kondisi awal sebelum dilaksanakan, bias berupa nilai-nilai peubah yang diambil dari himpunan khusus.

2.Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan. Suatu algoritma akan mengubah sebuah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.

3.Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefini dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

4.Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.

5.Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan yang diharapkan.

6.Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.


·Struktur Algoritma

Agar algoritma yang ditulis lebih teratur, maka struktur algoritma sebaiknya dibagi  ke dalam beberapa bagian. Diantaranya :

1.Bagian kepala (header) : memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis

2.Bagian Deklarasi ( definisi variable ) : memuat definisi nama variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.

3.Bagian Deskripsi (rincian langkah ) : memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi output.

Contoh berikut ini adalah struktur algoritma. Algoritma ini akan menghitung luas sebuah luas lingkaran dengan input jejari lingkaran tersebut. Luas lingkaran adalah phi*jari*jari.

Algoritma Luas_lingkaran

{Menghitung sebuah luas lingkaran apabila jari-jari tersebut diberikan}

Deklarasi

{Definisi nama tetapan}

Const phi = 3.14;

{Definisi nama peubah/variabel}

Real jari-jari, Luas;

Deskripsi

Read(jari-jari);

Luas = phi * jari-jari * jari_jari;

Write(Luas);




·Defisini Pemrograman

Pemrograman adalah aktifitas yang berhubungan dengan pembuatan program dengan mengikuti kaidah bahasa pemrograman tertentu. Dalam konteks pemrograman terdapat sejumlah bahasa pemrograman seperti Pascal, C, C#, dan BASIC.

Adapun secara garis besar bahasa pemrograman dikelompokkan menjadi :

1.Bahasa pemrograman tingkat tinggi ( high-level language )

Adalah bahasa pemrograman yang berorientasi kepada bahasa manusia. Program yang dibuat dengan menggunakan bahasa pemrograman yang mudah dipahami oleh manusia, biasanya menggunakan bahasa inggris, misalnya IF, FOR, While, dll.

Contoh bahasa pemrograman tingkat tinggi adalah : C, C#, BASIC, PHP, VB, VB.NET, JAVA, dll.

2.Bahasa pemrograman tingkat rendah ( low-level language )

Adalah bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini hanya menggunakan kode biner ( hanya mengenal bilangan 0 dan 1 ) atau suatu kode sederhana untuk menggantikan kode-kode tertentu dalam system biner.

Contoh : kode ASCII yang merepresentasikan karakter ke dalam bilangan biner.


·Langkah-langkah penyelesaian masalah dengan Pemrograman

Sebelum dapat menyelesaikan masalah dengan program, terdapat langkah-langkah yang perlu dilakukan terlebih dahulu :

1.Menganalisis masalah

Yaitu tindakan untuk mengidentifikasi informasi yang menjadi keluaran pemecahan masalah dan data-data yang menjadi masukan.

Dengan kerangka pemecahan masalah = Masukan -> Algoritma -> Keluaran

2.Membuat algoritma

Yaitu menuangkan ide dari pengidentifikasian masalah ke dalam bentuk algoritma baik dengan menggunakan Flowchart atau PseudoCode

3.Menuangkan algortima ke dalam bentuk program.

Yaitu proses membuat kode dengan menggunakan sebuah  bahasa pemrograman untuk mendapatkan hasil sesuai dengan permasalahan

4.Mengeksekusi dan menguji program (implementasi).

Yaitu proses pengujian terhadap suatu program yang digunakan, apakah nantinya berhasil sesuai yang diharapkan atau masih terjadi kesalahan-kesalahan.

B.PEMROGRAMAN

Program: Perwujudan/implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu, sehingga dapat dilaksanakan oleh komputer

(-)pembuatan program

A, definisi masalah
B, perencanaan dan desain sistem
C, implementasi
D, dokumentasi
E, pengujian program
F, perawatan program.

C.Perbedaan interpreter dan compiler

(-) interpreter:

-menerjemahkan intruksi per instruksi
-source program tak harus ditulis dengan lengkap
-bila terjadi kesalahan intruksi dapat langsung diperbaiki secara interaktif
-tidak menghasilkan objek program
-pemrosesan program lebih lambat karena setiap intruksi yang dikerjakan harus diinterprestasikan ulang
-source code program terus digunakan

(-) compiler

-menerjemahkan secara keseluruhan
-source program harus ditulis secara lengkap
-bila terjadi kesalahan dalam kompilasi source program harus dibenarkan dan proses kompitasi diulang kembali
-menghasilkan objek program
-pemrosesan program lebih cepat karena program sudah dalam bahasa mesin
-source program digunakan sekali pada source kompilasi program

1. Pada suatu hari ada seorang gembala bernama charles,dia melewati hutan dan menyebrangi jembatan bersama kucing,rumput,dan sapi.Tapi ia melihat tulisan yang ada di depan jembatan.''jembatan ini hanya cukup untuk dua orang saja''.Jadi ia tak bisa pulang kerumahnya.Pertanyaannya bagaimana semuanya bisa selamat ke rumah penggembala walaupun jembatan hanya mampu menampung dua orang saja?
Jawab=
1. Sebrangkan sapi
2. Setelah selesai menyebrangkan sapi,keluarkan sapi dan menyebrang lagi
3. Sebrangkan rumput keluarkan rumput dan menyebrang lagi
4. Sebrangkan kucing

2. Susunlah algoritma untuk menginput dua buah bilangan (misal A dan B) kemudian menghitung dan mencetak total kedua buah bilangan tersebut.

Jawab=
CARA 1 
 READ (A)
 READ (B)
 T=A+B
 WRITE (T)
 END

CARA 2
Read (A,B)
T=A+B
WRITE(T)



CARA 3
READ (A)
READ (B)
WRITE (A+B)

CARA 4
T=O
READ (A)
T=T+A
READ (B)
T=T+B
WRITE (T)

CARA 5
T=O
READ (A)
T=T+A
READ (A)
T=T+A
WRITE (T)


Sekian terima kasih atas kunjungan di blog saya, maaf apabila terjadi kesalahan ketik di dalam blog ini karena saya juga masih pelajar yang butuh belajar di sekolah

Wassalamu'alaikum warahmatullahi wabarakatu.🤗

0 komentar:

Posting Komentar