Anda di halaman 1dari 10

RANGKUMAN ALGORITMA DAN PEMROGRAMAN

Diajukan Untuk Memenuhi Tugas Akhir Semester pada Mata Kuliah Algoritma
dan
Pemrograman

Disusun Oleh :

NAMA : MUHAMMAD AFIF FAUZAN


KELAS : 1DC01
NPM : 40122826

DIPLOMA TIGA (D3) PROGRAM STUDI TEKNIK


KOMPUTER UNIVERSITAS GUNADARMA
DEPOK 2022/2023
BAB I. Dasar Pemrograman Komputer

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan


memelihara kode yang membangun suatu program komputer. Kode ini ditulis
dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk
memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan'
sesuai dengan keinginan si pemrogram. Untuk melakukan pemrograman,
diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan pada
banyak kasus, pengetahuan-pengetahuan lain seperti matematika.

Pemrograman adalah suatu seni dalam menggunakan satu atau lebih algoritma
yang saling berhubungan dengan menggunakan suatu bahasa pemrograman
tertentu sehingga menjadi suatu program komputer. Bahasa pemrograman yang
berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman
ini biasa disebut paradigma pemrograman.

BAB II. Algoritma


Algoritma adalah susunan langkah-langkah sistematis dan logis dalam pemecahan
suatu masalah. Ada tiga cara dalam penyunsunan algoritma yaitu :
1, Dengan merumuskan langkah-langkah pemecahan masalah melalui kalimat yang
terstruktur (tersusun secara logis)
2, Menggabungkan kalimat dengan penggalan stratements yang ada di suat bahasa
pemrograman (mis: Pascal). Biasanya disebut dengan Pseudo code (mirip dengan
kode atau perintah pemrograman)
3, Menggunakan diagram alir (flowchart). (Saniman dan Muhammad Fathoni:
Pengantar Algoritma dan Pemrograman).

Algoritma merupakan jantung dari ilmu komputer atau informatika. Ada banyak
cabang ilmu dari komputer yang mengacu dalam terminologi algoritma. Akan tetapi,
anda jangan beranggapan bahwa algoritma selalu di identikkan dengan ilmu komputer
saja. Misalnya mengenai algoritma, adalah caram embuat kue atau masakan yang
dinyatakan dalam resep masakan, itu juga merupakan algoritma.

Definisi Algoritma adalah susunan langkah penyelesaian suatu masalah secara


sistematika dan logis. Terdapat dua kata yang menjadi titik perhatian kita yakni
sistemati dan logis. Algoritma adalah langkah-langkah yang disusun secara tertulis
dan berurutan untuk menyelesaikan suatu masalah.  

Seorang matematikawan dan ilmuwan komputer bernama Dr. Christoph Koutschan


mengatakan bahwa setidaknya ada 32 algoritma dalam ilmu komputer. Namun jika
dilihat dari fungsinya, hanya ada enam algoritma dasar, yaitu:

1. Rekursi
Sebuah algoritma rekursi adalah sesuatu yang akan memanggil dirinya sendiri
berulang-ulang sehingga masalah dapat diselesaikan dengan benar. Berikut
adalah beberapa kode yang dapat menemukan faktorial menggunakan
algoritma rekursi.

Fact(y)
If y is 0

return 1

return (y*Fact(y-1)) /* this is where the recursion happens*/

2. Divide and Conquer


Divide and Conquer akan membagi masalah besar menjadi banyak menjadi
masalah kecil. Jenis algoritma ini sendiri sebenarnya terdiri dari dua bagian
utama, yaitu:

 Memecah masalah menjadi submasalah yang lebih independen dan lebih


kecil dari masalah lain yang sejenis.
 Memecahkan masalah asli setelah dapat menyelesaikan masalah yang
lebih kecil secara terpisah.
Berikut ini adalah contoh kode semu dari algoritma divide and conquer:

MergeSorting(ar[], l,  r)

If r > l

1. Find the mid-point to divide the given array into two halves:
middle m = (l+r)/2

2. Call mergeSorting for the first half:


Call mergeSorting(ar, l, m)

3. Call mergeSorting for the second half:


Call mergeSorting(ar, m+1, r)

4. Merge the halves sorted in step 2 and 3:


Call merge(ar, l, m, r)

3. Dynamic Programming

Dynamic Programming akan bekerja dengan mengingat hasil dari proses masa


lalu dan juga menggunakannya untuk menemukan hasil baru.

Dari penjelasan diatas, berarti bahwa Dynamic Programming memecahkan


masalah kompleks dengan memecahnya menjadi banyak submasalah
sederhana, kemudian menyelesaikannya satu per satu, lalu menyimpannya
untuk digunakan di masa mendatang.
Contoh Dynamic Programming adalah terdiri dari urutan Fibonacci, berikut
adalah contohnya:

Fibonacci(N) = 0 (for n=0)

= 0 (for n=1)

= Fibonacci(N-1)+ Finacchi(N-2)

4. Greedy

Tipe ini dapat digunakan untuk menyelesaikan masalah optimasi. Dalam


algoritma ini, kita akan menemukan solusi yang lebih optimal secara lokal tanpa
mengkhawatirkan konsekuensi yang akan terjadi di masa depan dan kita dapat
menemukan solusi yang lebih optimal secara global.
Namun, cara ini tidak menjamin Anda bisa mendapatkan solusi yang optimal.
Ada lima komponen yang terdapat dalam algoritma ini, yaitu:

 Himpunan kandidat yang solusinya akan dicari kemudian.


 Fungsi seleksi terakhir akan membantu memilih kandidat terbaik.
 Fitur kelayakan dapat membantu Anda mengidentifikasi kandidat mana
yang dapat digunakan untuk menemukan solusi.
 Fungsi tujuan mampu memberikan nilai ke solusi yang mungkin atau solusi
parsial.
 Fungsi solusi dapat memberitahu Anda tentang waktu yang diperlukan
untuk menemukan solusi untuk masalah tersebut.

5. Brute Force
Konsep dari algoritma ini sebenarnya sangat sederhana. Selama proses
ini, brute force mengintegrasikan semua solusi yang mungkin untuk
menemukan satu atau lebih solusi yang mungkin untuk memecahkan masalah.

Berikut adalah contoh pencarian sekuensial yang dilakukan menggunakan brute


force:

Algorithm S_Search (A[0..n], X)

A[n] ← X

i←0

While A [i] ≠ X do
i←i+1

if i < n return i

else return -1

6. Algoritma Backtracking

Backtracking adalah teknik yang dapat memecahkan masalah yang berbeda


secara rekursi dan mencoba mereka untuk menemukan solusi dengan
memecahkan satu bagian dari masalah pada waktu yang sama. Jika solusi
gagal, kita dapat menghapusnya dan kembali mencari solusi lain.

Artinya algoritma ini akan menyelesaikan sub masalah dan jika gagal maka
algoritma akan membatalkan langkah terakhir dan memulai kembali untuk
mencari solusi dari masalah tersebut.

BAB III. Flowchart

Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol grafis
yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah
yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan
masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa
memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di
dalam proses atau algoritma tersebut.

Flowchart sendiri terdiri dari lima jenis, masing-masing jenis memiliki karakteristik
dalam penggunaanya. Berikut adalah jenis-jenisnya:

1. Flowchart dokumen
Pertama ada flowchart dokumen (document flowchart) atau bisa juga disebut
dengan paperwork flowchart. Flowchart dokumen berfungsi untuk menelusuri
alur form dari satu bagian ke bagian yang lain, termasuk bagaimana laporan
diproses, dicatat, dan disimpan.
2. Flowchart program
Selanjutnya kita akan membahas flowchart program. Flowchart ini
menggambarkan secara rinci prosedur dari proses program. Flowchart program
terdiri dari dua macam, antara lain: flowchart logika program (program logic
flowchart) dan flowchart program komputer terinci (detailed computer program
flowchart).
3. Flowchart proses
Flowchart proses adalah cara penggambaran rekayasa industrial dengan cara
merinci dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur
atau sistem.
4. Flowchart sistem
Yang keempat ada flowchart sistem. Flowchart sistem adalah flowchart yang
menampilkan tahapan atau proses kerja yang sedang berlangsung di dalam
sistem secara menyeluruh. Selain itu flowchart sistem juga menguraikan urutan
dari setiap prosedur yang ada di dalam sistem.
5. Flowchart skematik
Terakhir ada flowchart skematik. Flowchart ini menampilkan alur prosedur suatu
sistem, hampir sama dengan flowchart sistem. Namun, ada perbedaan dalam
penggunaan simbol-simbol dalam menggambarkan alur. Selain simbol-simbol,
flowchart skematik juga menggunakan gambar-gambar komputer serta
peralatan lainnya untuk mempermudah dalam pembacaan flowchart untuk
orang awam.

Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda.


Berikut adalah simbol-simbol yang sering digunakan dalam proses pembuatan
flowchart.

Flowchart memiliki berbagai macam jenisnya, beberapa diantaranya sebagai


berikut.
1. Flowchart Document
“document flowchart” atau disebut juga bagan alir formulir “form
flowchart” atau paperwork flowchart adalah bagan alir yang menunjukkan
arus dari laporan dan formulir termasuk tembusan- tembusannya.
Flowchart berjenis ini berfungsi untuk menelusuri alur form dari satu
bagian ke bagian yang lain, termasuk bagaimana laporan diproses, dicatat,
dan disimpan.

2. Flowchart System’
Diagram alir jenis ini merupakan deskripsi secara grafik dari urutan
beberapa prosedur yang terkombinasi yang membentuk suatu sistem.
Flowchart sistem juga menguraikan urutan dari setiap prosedur yang ada di
dalam sistem.

3. Flowchart Schematic
“schematic flowchart” merupakan bagan alir yang mirip dengan bagan alir
sistem yaitu untuk menggambarkan prosedur di dalam sistem. Terdapat
perbedaan dalam penggunaan simbol-simbol dalam menggambarkan alur.
Selain simbol-simbol, flowchartskematik juga menggunakan gambar-
gambar komputer serta peralatan lainnya untuk mempermudah dalam
pembacaan bagi orang yang awam tentang flowchart.

4. Flowchart Program
Bagan yang menjelaskan secara rinci langkah-langkah dari proses program.

5. Flowchart Process
Diagram Alir proses merupakan teknik penggambaran rekayasa industrial
yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu
prosedur atau sistem.

BAB IV. Tipe Data

Tipe data adalah klasifikasi variable untuk menentukan data yang akan disimpan ke
dalam memori. Tipe data dibutuhkan agar kompiler dapat mengetahui bagaimana sebuah data
akan digunakan. Tipe data memiliki berbagai jenis, diantaranya :
1. Boolean
Tipe data yang memiliki dua nilai yaitu benar (true) atau salah (false).

2. Char
Tipe data karakter tunggal yang didefinisikan dengan tanda petik (‘) di awal dan
di akhir karakternya. Terdapat aturan “unicode” pada tipe data ini, yang
menyebabkan bilangan harus diawali kode “/u”. Selain itu, tipe data ini juga dapat
menggunakan bilangan heksadesimal dari 0000 sampai FFFF.
3. Integer
Tipe data numerik yang biasa digunakan apabila bertemu dengan bilangan bulat,
seperti 1, 27, 100, dan seterusnya. Tipe data numerik yang termasuk ke dalam
bilangan bulat adalah byte, short, int, dan long.

4. Floating Point
Bilangan yang menangani bilangan desimal atau perhitungan secara detail.
Memiliki dua tipe pada bilangan pecahan ini, yaitu :
 Float
Berfungsi dalam menandai nilai yang presisi seperti ketelitian tunggal
(single precision) dengan menggunakan penyimpanan 32- bit.
 Double
Menandai nilai presisi dengan ketelitian secara ganda atau double precision
dengan menggunakan ruang penyimpanan 64-bit.

5. String
Tipe data yang dapat menampung banyak karakter sekaligus. Berguna untuk
menuliskan gabungan huruf, angka, whitespace (spasi), dan berbagai karakter.

BAB V. Konsep Pembahasan Pemrograman

Bahasa pemrograman memiliki banyak tingkatan dalam pembuatannya.


Berikut beberapa jenis tingkatan bahasa pemrograman.
1. Bahasa pemrograman tingkat rendah
Bahasa pemrograman jenis ini dapat dijalankan tanpa compiler.
Contohnya
1. Bahasa mesin, sering disebut dengan kode biner. Hanya
terdapat dua simbol pada bahasa ini, yaitu angka 0 (tiadanya
arus) dan 1 (sebagai Adanya arus).
2. Bahasa Assembly, sering disebut dengan bahasa rakitan
yang berguna dalam membangun sistem dengan
berhubungan langsung dengan komputer.

2. Bahasa pemrograman tingkat menengah


Contoh dari bahasa pemrograman tingkat menengah, yaitu
assembler, Assembler makro Microsoft (MASM) dan C.

3. Bahasa pemrograman tingkat tinggi


Contoh dari bahasa pemrograman tingkat tinggi, yaitu C++, Phyton,
PHP, Delphi, Basic, Virtual Basic dan LOGO.
BAB VI. Input dan Output

Input adalah perangkat untuk memasukkan perintah atau data yang akan
diproses oleh komputer. Sedangkan Output device merupakan komponen
komputer yang berfungsi menghasilkan data yang bisa dilihat, didengar, ataupun
dipahami. Beberapa contoh dari perangkat Input maupun Output. Input:

1. Keyboard
Berfungsi memasukan perintah berupa karakter atau kombinasinya.
Keyboard adalah papan ketik yang terdiri dari jajaran tombol huruf
A-Z dan tombol angka dari 0-9, serta tombol perintah seperti F1
sampai F 9, Ctrl, Shift, dan lainnya.
2. Mouse
Berguna untuk menggerakan kursor atau pointer pada layar monitor.

3. Scanner
Berfungsi untuk mengcopy teks, gambar dalam bentuk digital.
4. Light Pen
Berguna untuk menggambar grafis atau teknis di komputer.
Output device, yaitu:
1. Printer
Berguna untuk mencetak hasil dari proses atau perintah dalam
bentuk kertas.
2. Monitor
Berguna untuk menampilkan beberapa macam data yang ingin
diketahui oleh para pengguna komputer.
3. Speaker
Berfungsi mengeluarkan data berupa suara yang telah diolah oleh
processor dengan format tertentu.
4. Proyektor
Berfungsi untuk menampilkan data atau gambar yang besar berupa
cahaya yang bersinar ke depan.

Anda mungkin juga menyukai