All of material inside is un-licence, kindly use it for educational only but please do not to commercialize it.
Based on 'ilman nafi'an, hopefully this file beneficially for you.
Thank you.
mengapa harus belajar alogaritma?
apa kaitan dengan pemrograman?
mari belajar bersama-sama menengenai Alogaritma dan Pemrograman
*materi ini dibuat oleh dosen saya atas nama Habibah Nurfauziah, S.Kom, M.Si beliau merupakan salah satu dosen di STMIK MUHAMMADIYAH JAKARTA
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondelferrydmn1999
Indonesia, negara kepulauan yang kaya akan keragaman budaya, suku, dan tradisi, memiliki Jakarta sebagai pusat kebudayaan yang dinamis dan unik. Salah satu kesenian tradisional yang ikonik dan identik dengan Jakarta adalah ondel-ondel, boneka raksasa yang biasanya tampil berpasangan, terdiri dari laki-laki dan perempuan. Ondel-ondel awalnya dianggap sebagai simbol budaya sakral dan memainkan peran penting dalam ritual budaya masyarakat Betawi untuk menolak bala atau nasib buruk. Namun, seiring dengan bergulirnya waktu dan perubahan zaman, makna sakral ondel-ondel perlahan memudar dan berubah menjadi sesuatu yang kurang bernilai. Kini, ondel-ondel lebih sering digunakan sebagai hiasan atau sebagai sarana untuk mencari penghasilan. Buku foto Lensa Kampung Ondel-Ondel berfokus pada Keluarga Mulyadi, yang menghadapi tantangan untuk menjaga tradisi pembuatan ondel-ondel warisan leluhur di tengah keterbatasan ekonomi yang ada. Melalui foto cerita, foto feature dan foto jurnalistik buku ini menggambarkan usaha Keluarga Mulyadi untuk menjaga tradisi pembuatan ondel-ondel sambil menghadapi dilema dalam mempertahankan makna budaya di tengah perubahan makna dan keterbatasan ekonomi keluarganya. Buku foto ini dapat menggambarkan tentang bagaimana keluarga tersebut berjuang untuk menjaga warisan budaya mereka di tengah arus modernisasi.
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik DosenAdrianAgoes9
sosialisasi untuk dosen dalam mengisi dan memadankan sister akunnya, sehingga bisa memutakhirkan data di dalam sister tersebut. ini adalah untuk kepentingan jabatan akademik dan jabatan fungsional dosen. penting untuk karir dan jabatan dosen juga untuk kepentingan akademik perguruan tinggi terkait.
1. Pertemuan : 1(Satu)
Pokok Bahasan : Pengantar Algoritma dan Program
Kompetensi Dasar : Mahasiswa dapat mengerti dan membedakan algoritma
dan pemrograman
Kompetensi Khusus:
1. Mengerti reperesentasi algoritma
2. Mampu memecahkan masalah sederhana dengan algoritma
3. Membedakan masalah-masalah yang dapat dikerjakan dengan komputasi
1. Pengenalan Algoritma
Algoritma
adalah suatu urutan dari barisan langkah-langkah atau instruksi, guna
menyelesaikan masalah.
Algoritma adalah suatu metode khusus untuk menyelesaikan suatu masalah
yang nyata (Webster Dictionary)
Istilah algoritma pertama kali diperkenalkan oleh seorang ahli matematika, yaitu ABU
JA”FAR MUHAMMAD IBNU ALKHAWARIRZMI)
2 Kriteria-Kriteria Algoritma:
1. Ada Output
Mengacu dari definisi algoritma di atas, maka suatu algoritma haruslah
mempunyai output. Output tersebut tentu harus merupakan solusi dari masalah
yang sedang diselesaikan.
2. Efektifitas dan efisiensi
Suatu algoritma dikatakan efektif jika algoritma tersebut dapat menghasilkan
suatu solusi yang sesuai dengan masalah yang diselesaikan. Dengan kata lain
suatu algoritma tersebut harus tepat guna.
Suatu algoritma dikatakan efisien jika waktu proses dari suatu algoritma relatif
lebih singkat dan penggunaan memorinya relatif lebih sedikit.
3. Jumlah langkahnya Berhingga
Barisan instruksi yang dibuat dalam suatu urutan tertentu, dimaksudkan agar
masalah yang dihadapi dapat diselesaikan. Banyaknya instruksi atau langkah
1
2. haruslah berhingga. Jika tidak demikian, proses yang dilakukan akan
memerlukan waktu yang relatif lebih lama dan diperoleh hasil yang tidak
diperlukan atau tidak berhubungan dengan masalah yang ada. Bahkan akan
memungkinkan proses akan berlangsung terus walaupun solusi yang
diharapkan sudah diperoleh.
4. Berakhir
Hal ini erat kaitannya dengan kriteria yang ketiga di atas. Proses di dalam
mencari penyelesaian suatu masalah harus berhenti atau berakhir. Hasil akhir
yang didapat merupakan solusinya ataupun berupa informasi tidak
diketemukannya solusi. Dengan perkataan lain, baik dalam kondisi solusinya
ada ataupun tidak ada maka proses akan tetap berhenti. Suatu prosedur yang
hanya akan berhenti bila mempunyai atau menghasilkan solusi disebut SEMI
ALGORITMA.
5. Terstruktur
Urutan dari barisan langkah-langkah yang digunakan harus disusun
sedemikian rupa agar proses penyelesaiannya tidak berbelit-belit. Sehingga
memungkinkan bahwa bagian-bagian dari proses tersebut dapat dibedakan
secara jelas (bagian Input, Proses, Output). Dengan demikian memudahkan
kita di dalam melakukan pengecekan ulang.
Dari kelima kriteria di atas maka dapat ditentukan suatu algoritma yang TERBAIK
dari sekian banyak algoritma yang ada, yaitu :
"suatu algoritma harus menyelesaikan output yang tepat guna (efektif) dalam
waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien)
dengan menggunakan langkah berhingga dan prosesnya berakhir baik dalam
keadaan dihasilkannya solusi apaupun tidak".
3. Representasi Algoritma:
3.1 Bahasa sehari-hari (Bahasa Indonesia)
Representasi ini paling mudah, dengan memecahkan masalah dengan notasi
komputasi.
3.2 Diagram Alur untuk Komputer
Simbol-simbol dalam diagram Alur
2
3. Keterangan:
A: Simbol untuk proses(Proses)
B: Simbol untuk Keputusan(Decision)
C: Simbol untuk keluaran(Dokumen)
D: simbol untuk Masukan(Data)
E: Simbol untuk Mulai/Start ataupun Berhenti/Stop (Termination)
F: Simbol penghubung(Connector)
G: Simbol penghubung bila beda halaman(Off Page Reference)
H: Simbol untuk transfer(control transfer)
I: Simbol untuk operasi manual(Manual Operasi)
J:Simbol untuk menyatakan harga awal dari suatu proses(Predefined Proses)
3.3. Psedocode
Bahasa yang disajikan dengan notasi khusus yang hampir menyerupai bahasa
komputer.
4. Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan
sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan
bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi
dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah
program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari bahasa
pemrograman dan komputer yang melaksanakannya.
3
4. 2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena
algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah
dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi
bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut
notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun,
supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa
pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut
berkorespondensi dengan notasi bahasa pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode
dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat
dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus
ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang
dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam
aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan
oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa
pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi
tersebut, yaitu:
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa
pemrograman membutuhkannya.
b. Pemilihan tipe data
4
5. Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat
pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing
memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam
bahasa pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang
akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya
menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler
atau interpreter.
5. Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan
beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan
sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-
cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat
disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah
membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan
masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca
satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang
ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses
(processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat
elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau
“mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara
primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan
5
6. diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat
menyebabkan kejadian.
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma
tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan
kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya,
pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus
dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses
harus:
1. Mengerti setiap langkah dalam algoritma.
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Kasus 1.1
Kita mengawali pembicaraan tentang logika dan algoritma, secara umum
pada masalah sehari-hari, yaitu langkah-langkah yang kita lakukan ketika mengganti
ban mobil yang pecah. Sebelum kita menjawab apa yang akan kita lakukan untuk
memulai pekerjaan tersebut, kita harus tahu komponen yang ada dalam masalah itu,
maksud dari komponen adalah apa-apa saja yang harus kita butuhkan.
Jawab:
Untuk kasus di atas kita
- butuh ban serep (ban pengganti)
- dongkrak
- baut
- kunci.
Pertama kita mengeluarkan ban serep, kemudian menyiapkan kunci yang cocok dan
dongkrak. Setelah alat yang kita punyai sudah lengkap, mobil didongkrak, untuk
selanjutnya dibuka baut-bautnya sehingga ban dapat dilepas. Kemudian ban serep
tersebut dipasang lalu ban dikencangkan tersebut dengan baut, dongkrak dilepaskan
dan langkah terakhir membereskan semua alat-alat seperti ban pecah, kunci dan
dongkrak.
Langkah-langkah tersebut dapat dibuat secara singkat, yaitu:
I. Persiapan, mempunyai beberapa kegiatan yaitu:
1. Ambil Ban Serep
6
7. 2. Siapkan Kunci dan Dongkrak
II. Proses Penggantian, mempunyai beberapa kegiatan yaitu:
1. Mobil didongkrak
2. Buka Baut
3. Lepas Ban Kempis
4. Pasang Ban Serep
5. Pasang baut dan Kencangkan
6. Lepaskan Dongkrak
III. Finishing (kegiatan akhir)
1. Bereskan Peralatan
Kegiatan-kegiatan di atas dapat dibuat alur diagram, guna memudahkan dalam
membaca, yaitu sebagai berikut:
Langkah -langkah tersebut dilakukan tanpa adanya syarat, algoritma tersebut
berjalan lurus dari pertama sampai langkah terakhir. Biasanya masalah yang
7
START
Proses Kegiatan
Mobil didongkrak
Buka Baut
Lepas Ban Kempis
Pasang Ban Serep
Pasang baut dan
Kencangkan
Lepaskan Dongkrak
Persiapan
Ambil Ban Serep
Siapkan Kunci dan
Dongkrak
Kegiatan Akhir
Bereskan Peralatan
END
8. terjadi tidak sesederhana itu. Selanjutnya apa yang akan dilakukan bila ban serep
tersebut bocor atau mungkin kempis ?. Berarti langkah untuk menyelesaikan
masalah tersebut tidak dapat mengikuti algoritma di atas. Kita akan mengecek
kondisi ban serep sebelumnya, apakah ban serep kempis ?, ataukah ban serep
bocor ? lalu bagaimana algoritmanya ? Kita tinggal menyisipkan langkah tersebut
setelah mengambil ban serep, algoritmanya adalah sebagi berikut :
I. Persiapan, mempunyai beberapa kegiatan yaitu:
1. Ambil Ban Serep
2. Ban serep Kempis ?
3. Ban serep Bocor ? : Jalankan langsung langkah 5 bila jawabnya 'Ya'
4. Tambah Angin Ban serep : Langsung ke langkah 6
5. Tambal Ban serep
6. Siapkan Kunci dan Dongkrak
I. Proses Penggantian, mempunyai beberapa kegiatan yaitu:
1. Mobil didongkrak
2. Buka Baut
3. Lepas Ban Kempis
4. Pasang Ban Serep
5. Pasang baut dan Kencangkan
6. Lepaskan Dongkrak
II. Finishing (kegiatan akhir)
1. Bereskan Peralatan
Latihan 1.1
1. Buatlah langkah-langkah bila Anda ingin menelpon relasi !
2. Buatlah langkah-langkah bila ingin memberi kabar ke sahabat Anda melalui
pos !
3. Buatlah langkah-langkah bila ingin mengetikkan laporan ke dalam formas
Ms Word !
Buatlah masing-masing latihan di atas ke dalam diagram alur.
8
9. 6. Program
adalah sederetan intruksi (dalam bahasa yang dimengerti komputer yang
bersangkutan) yang mengatur apa-apa yang harus dikerjakan komputer, untuk
mendapatkan suatu hasi/keluaran.
6.1 Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,
algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan
program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang
ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh
komputer.
Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya.
Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan
algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan
program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian
algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata
algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah,
sedangkan program adalah realisasi algoritma dalam bahasa pemrograman.
Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat
program disebut pemrograman (programming). Orang yang menulis program
disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut
pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu
instruksi dilaksanakan, maka operasioperasi yang bersesuaian dengan instruksi
tersebut dikerjakan komputer. Secara garis besar komputer tersusun atas empat
komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan
memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak”
komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi
perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis.
Memori adalah komponen yang berfungsi menyimpan atau mengingatingat. Yang
disimpan di dalam memori adalah program (berisi operasioperasi yang akan
dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-
operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan
data atau program ke dalam memori, dan alat yang digunakan komputer untuk
mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain,
9
10. papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti
keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.
Bahasa Pemrograman
Bahasa Pemrograman:
1. Bahasa Mesin: terdiri dari ‘1’ dan ‘0’
2. Bahasa Assembly : dengan menggunakan singkatan kata (mnemonic code).
Assembler
3. Bahasa Generasi Ketiga sering disebut bahasa tingkat tinggi : menggunakan
bahasa yang dimengerti oleh manusia Interpreter dan Kompiler
4. Bahasa Generasi Keempat : mengembangkan aplikasi basis data
Suatu Program komputer pada umumnya berisi 3 hal:
1. Pembacaan/pemasukan data ke dalam komputer
2. Melakukan komputasi/perhitungan terhadap data tersebut.
3. Mengeluarkan/mencetak hasilnya
Bahasa C++ merupakan bahasa generasi ketiga, setelah memahami algoritma
selanjutnya permasalahan tersebut dibuat ke dalam bahasa pemrograman.
Sebelum memasuki bahasa pemrograman ini, terlebih dahulu dilakukan pengenalan
Bahasa pemrograman C++.
1. Pengenalan C++
10
INPU
T
PROSE
S
OUTPU
T
11. Program C++ tidak pernah lepas dari fungsi, sebab salah satu dasar penyusun blok
C++, minimal harus ada fungsi main(). Dimulai dengan tanda buka kurung “{“ dan
diakhiri dengan tutup kurawal “}”.
Sedangkan statemen yang berada diantara kurung tersebut disebut dengan isi
program/pernyataan. Di mana setiap pernyataan harus di akhiri dengan tanda titik
koma”;”.
Mengenal cout
Pengenal cout merupakan sebuah obyek di dalam C++, yang digunakan untuk
mengarahkan data ke dalam standar output(cetak pada layar)
cout<<”Selamat Datang di dunia C++n”;
Tanda << (dua buah tanda kurang dari berurutan) merupakan sebuah operator yang
disebut operator “penyisipan/peletakan”. Opertor ini akan mengarahkan operand
(data) yang terletak di sebelah kanannya ke obyek yang terletak disebelah kiri.
n adalah karakter pindah baris(newline).
Penjelasan tentang #include <namafile>
#include ini bukan merupakan pernyataan melainkan suatu pengarah praprosesor yang
tersedia pada c++. Bentuk umumnya adalah:
#include <namafile>
Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain dalam
hal ini file yang berakhiran .h (file header) yaitu file yang berisi berbagai deklarasi
contohnya:
- #include <iostream.h> : diperlukan pada program yang melibatkan obyek
cout
- #include <conio.h> : diperlukan bila melibatkan clrscr(), yaitu perintah
untuk membersihkan layar.
- #include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat
untuk mengatur lebar dari suatu tampilan data.
- #include <math.h> : diperlukan pada program yang menggunakan operasi
sqrt() yang bermanfaat untuk operasi matematika kuadrat.
11
12. Komentar
Merupakan penjelasan dalam suatu program, dimana tidak akan dieksekusi oleh
program. Bentuk komentar dapat dilihat dalam contoh berikut ini:
Kasus 1.2
.Anda diminta untuk mencetak ke layar tulisan berikut ini:
Selamat datang di dunia C++
Selamat belajar Algoritma dan Pemrograman
//Belajar Program C++
// *_______________*
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout<<"Selamat datang di dunia C++n";
cout<<"Selamat belajar Algoritma dan Pemrograman";
}
Hasil program di atas adalah:
Selain menggunakan //, komentar pada c++ juga dapat ditulis bentuk”
/* Komentar */
/* Komentar Anda
12
13. Panjang sekali */
Untuk lebih jelasnya dapat dicoba pada saat praktikum agar dapat diketahui
perbedaannnya.
13