PRODI INFORMATIKA
KATA PENGANTAR
Puji dan syukur kehadirat Tuhan YME karena berkat dari-Nya saya dapat
menyelesaikan makalah tentang “DASAR-DASAR PEMROGRAMAN “.
Saya sangat bersyukur karena telah mampu menyelesaikan makalah
yang menjadi tugas dari mata kuliah Dasar-dasar Pemrograman. Kritik
maupun saran terhadap makalah ini akan saya terima agar kedepannya
bisa menjadi lebih baik lagi. Demikian yang dapat saya sampaikan,
semoga makalah ini bermanfaat bagi semua pihak.
(Arief Fatchul Huda.2013)
DAFTAR ISI
KATA
PENGANTAR……………………………………………………………………i
DAFTAR
ISI…………………………………………………………………………………ii
BAB I PENDAHULUAN
……………………………………………………………………………………. 1
1. Latar Belakang
…………………………………………………………………………………..1
2. Rumusan Masalah
…………………………………………………………………………………..2
3. Tujuan Pembelajaran
…………………………………………………………………………………..2
BAB II PEMBAHASAN
……………………………………………………………………………………..3
1. Algoritma
…………………………………………………………………………………..3
2. Data, Variabel dan Operasi
Matematika……………………………………………………………………...5
3. Struktur dasar
Algoritma……………………………………………………………………….8
4. Dimensi Array dan
Struktur………………………………………………………………………...11
5. Prosedur………………………………………………………………………..12
6. Proses
Searching………………………………………………………………………13
7. Proses Pengurutan (sorting)
………………………………………………………………………..16
BAB III PENUTUP
…………………………………………………………………………………....18
1. Kesimpulan
…………………………………………………………………………………18
2. Penutup
…………………………………………………………………………………18
(Arief Fatchul Huda.2013)
DAFTAR PUSTAKA
BAB I
PEMBAHASAN
1. Latar Belakang
Pesatnya teknologi, terutama teknologi komputer sudah tak bisa
dipungkiri lagi, bagi yang mengikuti perkembangannya, ia tidak akan
dipandang sebelah mata. Sebaliknya, bagi yang tidak mengikuti
perkembangannya, bersiaplah untuk mundur secara suka rela dari
panggung kompetisi. Ibarat wabah, teknologi komputer sudah menyusupi
hampir semua bidang kehidupan manusia. Dari pemerintah pusat sampai
tingkat pemerintah desa, perusahaan-perusahaan, supermarket,
minimarket, perguruan tinggi, SLTA, SLTP, bahkan SD hampir semuanya
mengenal komputer. Saat ini, yang mempunyai lingkungan yang semakin luas
dan banyak diminati, juga dapat digunakan untuk menghasilkan uang adalah
dunia pemrograman komputer. Dalam dunia pemrograman komputer, dikenal
algoritma dan banyak bahasa pemrograman, seperti C, C++, Octave, Pascal,
Basic, Java, dan lain-lain. Agar suatu perintah dapat dilaksanakan oleh
komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga
dinamakan program. Banyak cabang ilmu komputer yang diacu dalam
terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik
dengan ilmu komputer saja. Dalam kehidupan sehari-haripun 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. Dari uraian tersebut dapat dilihat besarnya peranan algoritma.
Oleh karena itu, dalam makalah ini kami akan membahas mengenai “Dasar-
Dasar Pemrograman”.
1. Rumusan Masalah
2. Apa yang dimaksud dengan Algoritma ?
3. Apa yang dimaksud dengan Data, Variabel dan Operasi Matematika?
4. Bagaimana Struktur dasar Algoritma ?
5. Apa Saja Dimensi Array dan Struktur?
6. Apa Saja Prosedur ?
7. Bagaimana Proses Searching?
8. Bagaimana Proses Pengurutan (sorting)?
1. Tujuan Penulisan
2. Untuk Mengetahui Pengertian Algoritma
3. Untuk Mengetahui Data, Variabel dan Operasi Matematika
4. Untuk Mengetahui Struktur dasar Algoritma
5. Untuk Mengetahui Dimensi Array dan Struktur
6. Untuk Mengetahui Prosedur
7. Untuk Mengetahui Proses Searching
8. Untuk Mengetahui Proses Pengurutan (sorting)
(Arief Fatchul Huda.2013)
BAB II
PEMBAHASAN
1. Algoritma
Ahli sejarah matematika menemukan asal kata tersebut yang
berasal dari nama penulis buku arab yang terkenal yaitu Abu Jafar
Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat
menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al
Jabar Wal-Muqabala yang artinya Buku pemugaran dan pengurangan
(The book of restoration and reduction). Dari judul buku itu kita juga
memperoleh akar kata Aljabar (Algebra). Perubahan kata dari algorism
menjadi algorithm muncul karena kata algorism sering dikelirukan dengan
arithmetic, sehingga akhiran sm berubah menjadi thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka
lambat laun kata algorithm berangsur-angsur dipakai sebagai metode
perhitungan (komputasi) secara umum, sehingga kehilangan makna kata
aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi
algoritma. Dan menurut Rinaldi Munir :2002. Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis.
Ciri-ciri Algoritma Menurut Donald E. Knuth, algoritma mempunyai lima
ciri:
(Arief Fatchul Huda.2013)
Compiler Interpreter
Keamanan dari program lebih terjamin Keamanan dari program kurang terjamin
Proses pekerjaan program lebih cepat Proses pekerjaan program lebih lambat
1. Ambil bilangan pertama dan set Maks sama dengan bilangan pertama.
2. Ambil bilangan kedua dan bandingkan dengan Maks
3. Apabila bilangan kedua lebih besar dari Maks, set Maks sama dengan bilangan
kedua
4. Ambil bilangan ketiga dan bandingkan dengan Maks
5. Apabila bilangan ketiga lebih besar dari Maks, set Maks sama dengan bilangan
ketiga
6. Variabel Maks berisi bilangan terbesar, tampilkan hasilnya.
7. Pseudo-Code, notasi yang menyerupai bahasa pemrograman tingkat tingg.
Sudah dekat dengan bahasa kepemrograman, namun sulit dimengerti oleh orang
yang belum mengerti algoritma.
(Arief Fatchul Huda.2013)
Contoh :
Input=(Tinggi)
Luas_segitiga (Alas*Tinggi)
Output(Luas)Segitiga
1. Tipe data dasar yaitu Tipe data yang mampu menyimpan satu nilai tiap satu
variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai
oleh program. Contoh tipe data primitive adalah tipe numerik (integer dan
real), tipe data karakter/char, tipe data boolean.
2. Integer Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa
kategori seperti table sebagai berikut
(Arief Fatchul Huda.2013)
Tipe Ukuran
Data Tempat Rentang Nilai
2147483648 s/d
Longint 4 bytes 2147483647
1. Real adalah bilangan yang berisi titik desimal atau jenis bilangan pecahan.
Tipe Ukuran
Data Tempat Rentang Nilai
(Arief Fatchul Huda.2013)
255. Karakter (char). Karakter merupakan tipe data yang hanya mampu
menyimpan 1 digit karakter. Ukuran untuk tipe data karakter adalah 1 byte (1
byte = 8 bit). Adapun macam karakter yang ada sejumlah 256 macam karakter
yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan
karakter menggunakan tanda petik tunggal (‘ ) di depan dan belakang karakter
yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll. Nilai-nilai yang termasuk karakter adalah
:
Karakter huruf : ‘a’..’z’,’A’..’Z’
Karakter angka : ‘0’..’9’
Karakter tanda baca : titik, koma, titik koma, titik dua dan sebagainya
Karakter khusus : $, %, #, @ dan sebagainya.
1. Boolean merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE
(benar) atau FALSE (salah). Tipe data boolean memakai memori paling kecil.
2. Tipe data bentukan adalah tipe data yang dibentuk dari tipe data dasar dengan
maksud mempermudah pekerjaan programmer..
3. Array atau sering disebut sebagai larik, adalah tipe data yang sudah terstruktur
dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah
data dengan tipe yang sama (homogen) dalam sebuah variabel. Sebagai
ilustrasi, array mampu menampung banyak data namun dengan satu tipe data
yang sama, misalnya integer saja. Setiap lokasi data array diberi nomor indeks
yang berfungsi sebagai alamat dari data tersebut.
4. String merupakan suatu data yang menyimpan array (larik), sebagai contoh
‘ABCDEF’ merupakan sebuah konstanta string yang berisikan 6 byte karakter.
Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah
elemen 1 s/d 255.
5. Record atau struct Seperti halnya Array, Record atau Struct juga termasuk tipe
data komposit. Berbeda dengan array, tipe data record mampu menampung
banyak data dengan tipe data berbeda-beda (heterogen). Misalnya, satu bagian
integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record
digunakan untuk menampung data suatu obyek.
Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan
nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan
mempunyai nama (identifier) dan nilai.
username = “joni”
Nama = “Udin”
(Arief Fatchul Huda.2013)
1. Nama variabel harus diawali dengan huruf.
2. Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti
dengan karakter underscore (_).
3. Nama variabel tidak boleh mengandung karakter-karakter khusus,seperti : .,+, -,
*, /, <, >, &, (, ) dan lain-lain.
4. Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa
pemrograman
Operator Jenis Operasi Tipe Operand Tipe Hasil Contoh
a+b
+ Penjumlahan Integer, real Integer, real à 4 + 8 = 12
x–2
– Pengurangan Integer, real Integer, real à 4 – 8 = -4
a/b
/ Pembagian untuk bilangan riil Integer, real à8/4=2
(Arief Fatchul Huda.2013)
1. Pemilihan/Percabangan (selection).
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi.
Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Dalam
pemilihan dikenal beberapa struktur pemilihan, yaitu:
#If–then
Aksi hanya akan dilaksanakan apabila kondisi bernilai benar. Sebaliknya,
apabila kondisi bernilai salah, maka aksi tidak akan dilaksanakan.
Struktur Umum:
If kondisi then
Aksi
Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi
(persyaratan) dipenuhi (bernilai benar), dan tidak memberikan pilihan aksi
lain bila kondisi bernilai salah.
#If-then-else
Struktur pemilihan ini memberikan dua buah aksi yang akan dikerjakan
tergantung pada nilai kondisinya.
Struktur umumnya:
If kondisi then
aksi 1
Else
aksi 2
Else artinya ”kalau tidak”. Bila kondisi benar, aksi 1 yang akan
dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan.
#If-then-else if
Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur
pilihannya menjadi lebih rumit, biasanya untuk pemilihan seperti ini
disebut pemilihan bersarang.
Kelebihan struktur pemilihan terletak pada kemampuannya yang
memungkinakan pemroses mengikuti jalur aksi yang berbeda berdasarkan
kondisi yang ada.
1. Pengulangan (repetition/looping).
Pengulangan / looping adalah pelaksanaan suatu instruksi berulang kali.
Di dalam algoritma, pengulangan dapat dilakukan sejumlah kali, atau
sampai kondisi berhenti pengulangan tercapai. Pengulangan digunakan
untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa
kali. Dengan kata lain, pengulangan memungkinkan pengerjaan beberapa
kali perintah tetapi penulisan perintah tersebut hanya satu kali.Struktur
pengulangan yang umum digunakan antara lain:
Struktur Pengulangan
Bentuk Umum:<inisialisasi>
awal pengulangan
badan pengulangan
akhir pengulangan
<terminasi>
(Arief Fatchul Huda.2013)
<inisialisasi>: aksi yang dilakukan sebelum pengulangan dilakukan untuk
pertama kalinya.
Badan pengulangan: bagian algoritma yang diulang
<terminasi>: aksi yang dilakukan setelah pengulangan selesai dilaksanakan
<inisialisasi> dan <terminasi> tidak selalu ada, namun pada berbagi kasus
inisialisasi umumnya diperlukan awal dan akhir pengulangan dinyatakan
sebagai kata kunci yang bergantung pada struktur pengulangan yang digunakan.
#Pernyataan for
Pernyataan pengulangan for digunakan jika kita sudah tahu berapa kali
kita akan mengulang satu atau beberapa pernyataan. Macam struktur
pengulangan
pengulangan tanpa kondisi (unconditional looping) jumlah pengulangan
sudah diketahui sebelum eksekusi
Struktur FOR
#Pernyataan repeat-until
Pernyataan repeat-until akan melakukan pengulangan aksi hingga kondisi
(persyaratan) berhenti terpenuhi.
Bentuk umum pernyataan repeat-until adalah sbb:
Repeat
Aksi
Until kondisi
Tidak seperti pada struktur for yang jumlah pengulangannya diketahui
sebelum pengulangan dilaksanakan, maka untuk struktur repeat-until
digunakan jika jumlah pengulangan tidak dapat diketahui di awal. Namun
yang pasti, pengulangan aksi akan terus dilakukan sampai kondisi
berhenti dipenuhi.
(Arief Fatchul Huda.2013)
#Pernyataan while-do
Sama seperti pada pernyataan repeat-until, pada pernyataan while-do ini
digunakan untuk pengulangan yang belum diketahui pasti jumlah
pengulangannya. Berakhirnya pengulangan ini ditentukan oleh suatu
kondisi. Bila kondisi sudah tidak terpenuhi, maka pengulangan akan
berakhir. Dengan kata lain, selama kondisi masih terpenuhi, pengulangan
akan terus dilakukan.Bentuk umum pernyataan while-do sebagai berikut:
While kondisi do
Aksi
Pada pernyataan repeat-until dan while-do, pada dasarnya hampir sama
yaitu digunakan jika jumlah pengulangan belum dapat ditentukan. Tetapi
terdapat perbedaan yaitu pada pengecekan kondisi. Jika pada
pernyataan while-do, kondisi dicek pada awal blok pengulangan, pada
pernyataan repeat-until, kondisi dicek pada akhirblokpengulangan.
Perbedaan yang lain, bila pernyataan while-do mengulang pernyataan
selama kondisi masih terpenuhi, pernyataan repeat-until mengulang
pernyataan selama kondisi belum terpenuhi.
1. Dimensi Array dan Struktur
merupakan bentuk penyimpanan data yang dapat menyimpan
sekumpulan data yang mempunyai tipe sama dalam sebuah nama.
Sekalipun nama -nya sama, akan tetapi data 1 dengan data yang lain
mempunyai memori penyimpanan yang berbeda. Memori penyimpanan ini
ditandai dengan indeks. Banyaknya memori penyimpanan dalam
octavetidak terbatas dan tidak perlu dipesan terlebih dahulu seperti halnya
dalam bahasa pemrograman yang lain.
terdiri dari beberapa dimensi dari mulai 1, 2, 3, dst. Akan tetapi yang
banyak digunakan hanya array 1 dan 2 dimensi. Gambar berikut
mengilustrasikan sebuah 1 dimensi dengan nama yang mempunyai 6
memori penyimpanan.
5 4 3 1 6 2
Ilustrasi 1 Dimensi
(Arief Fatchul Huda.2013)
data(1,1) data(1,2) data(1,3)
Array dua dimensi merupakan data matriks dengan tipe data yang sama
untuk seluruh elemen. Oleh karena itu, operasi yang berlaku merupakan
operasi standar pada matriks.
Struktur/record. Jika array hanya dapat menyimpan data dengan tipe yang
sama, maka record/struktur dapat menyimpan lebih dari satu data dengan
tipe data yang berbeda. Contoh data mahasiswa adalah NIM, Nama,
TempatLahir, TglLahir, dll. Untuk menyimpan data mahasiswa satu
jurusan, maka dibuat data struktur Mhs dengan elemen dan tipe data.
(Arief Fatchul Huda.2013)
function nama_fungsi(parameter)
kumpulan_perintah;
end
function nama_fungsi()
kumpulan_perintah;
end
(Arief Fatchul Huda.2013)
Parameter
Nilai Balik
Nilai balik merupakan nilai yang dikembalikan oleh fungsi pada saat
pemanggilan fungsi. Kelebihan Matlab dibandingkan bahasa
pemrograman lain adalah Matlab dapat mengembalikan nilai lebih dari 1
variabel. Nilai yang dihasilkan oleh fungsi.
(Arief Fatchul Huda.2013)
4. Jika data ke-3 lebih kecil dari data ke-2 maka tukar posisinya, dan begitu
seterusnya sampai data yang ada jadi terurut.
Contoh secara manual :
0 87 74 71 54 88 60
1 74 71 54 87 60 88
2 71 54 74 60 87 88
3 54 71 60 74 87 88
4 54 0 71 74 87 88
Intinya bubble sort itu salah satu metode yang simpel untuk sorting, tetapi
jika jumlah data yang disorting besar akan memakan waktu yang lama.
2. SelectionSort
SelectionSort adalah merupakan sebuah algoritma pengurutan yang
secara berulang mencari data yang belum terurut dan mencari paling
sedikit satu untuk dimasukkan ke dalam lokasi akhir.
(Arief Fatchul Huda.2013)
Langkah-langkahnya :
1. Bandingkan data kedua dengan data pertama, jika data kedua lebih kecil maka
tukar posisinya, jika tidak biarkan aja.
2. Data ketiga dibandingin dengan data ke-1 dan ke-2,jika data ke-3 lebih kecil
tukar lagi posisinya.
3. Data ke-4 dibandingin dengan data ke-3, ke-2, dan ke-1, jika data ke-4 lebih
kecil dari ketiganya maka letakkan data ke-4 ke posisi paling depan, gitu dech
seterusnya.
Contoh (secara manual aja) :
Misalkan data : 10 5 7 9 2 1 8 6
Iterasi Data
0 10 5 7 9 2 1 8 6
1 5 10 7 9 2 1 8 6
2 5 7 10 9 2 1 8 6
3 5 7 9 10 2 1 8 6
4 2 5 7 9 10 1 8 6
5 1 2 5 7 9 10 8 6
6 1 2 5 7 8 9 10 6
7 1 2 5 6 7 8 9 10
Pada iterasi 7, data sudah terurut.
(Arief Fatchul Huda.2013)
4. QuickSort
QuickSort merupakan divide and conquer algorithm. Algoritma ini
mengambil salah satu elemen secara acak (biasanya dari tengah) lalu
menyimpan semua elemen yang lebih kecil di sebelah kirinya dan semua
elemen yang lebih besar di sebelah kanannya. Hal ini dilakukan secara
rekursif terhadap elemen di sebelah kiri dan kanannya sampai semua
elemen sudah terurut. Algoritma ini termasuk algoritma yang cukup baik
dan cepat. Hal penting dalam algoritma ini adalah pemilihan nilai tengah
(pivot) yang baik sehingga tidak memperlambat proses sorting secara
keseluruhan.
1. Searching
Searching adalah pencarian suatu data dalam sekumpulan data . Kali ini
kita akan bahas tentang 2 jenis searching yaitu Sequential
Search dan Binary Search.
1. Sequential Search merupakan proses pencarian data dengan metode pencarian
langsung. Ini dilakukan dengan cara mencocokkan data yang akan dicari
dengan semua data yang ada dalam kelompok data. Proses pencocokan data
dilakukan secara berurutan. Satu demi satu dimulai dari data ke1 hingga data
pada urutan terakhir.
Secara manual contoh :
(Arief Fatchul Huda.2013)
Data : 20 25 35 79 80 90
0 20 25 35 79 80 90 Data awal
1. i←0
2. ketemu←false
3. Selama (tidak ketemu) dan (i <= N) kerjakan baris 4 4 Jika (Data[i] = x) maka
ketemu ← true, jika tidak i ← i + 1 5 Jika (ketemu) maka i adalah indeks dari
data yang dicari, jika tidak data tidak ditemukan Di bawah ini merupakan
fungsi untuk mencari data menggunakan pencarian sekuensial.
4. Binary Search
Binary Search adalah sebuah teknik untuk menemukan nilai tertentu
dalam sebuah larik (array) linear, dengan menghilangkan setengah data
pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif
dalam ilmu komputer. Sebuah pencarian biner mencari nilai tengah
(median), melakukan sebuah pembandingan untuk menentukan apakah
nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari
setengah sisanya dengan cara yang sama. Sebuah pencarian biner
adalah salah satu contoh dari algoritma divide and conquer .
Penerapan terbanyak dari binary search adalah untuk mencari sebuah
nilai tertentu dalam sebuah list terurut. Jika dibayangkan, pencarian biner
dapat dilihat sebagai sebuah permainan tebak-tebakan, kita menebak
sebuah bilangan, atau nomor tempat, dari daftar (list) nilai.
(Arief Fatchul Huda.2013)
BAB III
PENUTUP
1. Kesimpulan
Imperative program beranalogi dibawah bahasa pemograman yang
memacu atau berorientasi pada objek objek system informasi yang
mengarah pada system informasi. Pembuatan program program komputer
dengan penguasaan data yang ada pada bahasa pemograman untuk
dikuasai agar menjadi seorang programmer handal.
1. Penutup
Demi kianlah makalah yang kami buat ini, semoga bermanfaat dan
menambah pengetahuan para pembaca. Kami mohon maaf apabila ada
kesalahan ejaan dalam penulisan kata dan kalimat yang kurang jelas,
dimengerti, dan lugas.Karena kami hanyalah manusia biasa yang tak luput
dari kesalahan Dan kami juga sangat mengharapkan saran dan kritik dari
para pembaca demi kesempurnaan makalah ini. Sekian penutup dari kami
semoga dapat diterima di hati dan kami ucapkan terima kasih yang
sebesar-besarnya.