You are on page 1of 17

KULIAH PEMROGRAMAN

KULIAH PEMROGRAMAN
KOMPUTER
KOMPUTER
TM
TM
I
I
JURUSAN TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO
FTI-ITS FTI-ITS
2008 2008
Pengantar
Pengantar
Komputer hanyalah alat Komputer hanyalah alat
bantu pengolahan data bantu pengolahan data
dan bukan tukang dan bukan tukang
mengolah data yang mengolah data yang
pintar, dapat berpikir pintar, dapat berpikir
sendiri serta memutuskan sendiri serta memutuskan
solusi yang paling tepat solusi yang paling tepat
untuk menyelesaikan untuk menyelesaikan
tugasnya tugasnya
CPU
Blok diagram sistem komputer
Blok diagram sistem komputer
Register
ALU
Control unit
Peralatan
Input
Peralatan
Ouput
External Storage
(Disk,Tape, etc)
Main Storage
(ROM/RAM)
Latar
Latar
belakang
belakang
komputer
komputer
sebagai
sebagai

alat bantu
alat bantu
:
:
Pada umumnya dibangun atas dasar Pada umumnya dibangun atas dasar
cara kerja mesin cara kerja mesin Von Newman Von Newman
hanya dapat melakukan satu hanya dapat melakukan satu
pekerjaan yang sederhana setiap pekerjaan yang sederhana setiap
saatnya. saatnya.
Pengolahan data yang rumit harus Pengolahan data yang rumit harus
dipecah-pecah menjadi serangkaian dipecah-pecah menjadi serangkaian
pekerjaan yang sederhana pekerjaan yang sederhana
PROGRAM PROGRAM. .
Program
Program
Program terdiri dari : Program terdiri dari :
Algoritma : Perintah-perintah yang Algoritma : Perintah-perintah yang
disusun sedemikian rupa sehingga disusun sedemikian rupa sehingga
merupakan urutan pelaksanaan merupakan urutan pelaksanaan
pekerjaan yang logis dan sistematis. pekerjaan yang logis dan sistematis.
Struktur data : Definisi-definisi data Struktur data : Definisi-definisi data
yang akan diolah. yang akan diolah.
Jadi : Jadi :
Program = Algoritma + Struktur Program = Algoritma + Struktur
Data Data
Program (lanjutan)
Program (lanjutan)
Algoritma harus dapat diimplementasikan Algoritma harus dapat diimplementasikan
dalam bahasa-bahasa pemrograman dalam bahasa-bahasa pemrograman
prosedural yang umum prosedural yang umum Tidak boleh Tidak boleh
terikat pada salah satu bahasa terikat pada salah satu bahasa
pemrograman saja. pemrograman saja.
Belajar membuat program komputer Belajar membuat program komputer

belajar bahasa pemrograman belajar bahasa pemrograman. .


Dasar Pemikiran Pemrograman
Dasar Pemikiran Pemrograman
Perintah yang diberikan hanya yang Perintah yang diberikan hanya yang
bisa dilaksanakan oleh mesin bisa dilaksanakan oleh mesin
Kemampuan mesin untuk Kemampuan mesin untuk
berhubungan dengan dunia luar : berhubungan dengan dunia luar :
Masukan data (input) Masukan data (input)
Keluaran data (output) Keluaran data (output)
Dasar Pemikiran Pemrograman (lanjutan)
Dasar Pemikiran Pemrograman (lanjutan)
Kemampuan mesin dalam pengolahan Kemampuan mesin dalam pengolahan
data biner (representasi sistem digital): data biner (representasi sistem digital):
Pemindahan data. Pemindahan data.
Manipulasi data Manipulasi data
Aritmatika : Tambah, kurang, kali, bagi Aritmatika : Tambah, kurang, kali, bagi
Logika : AND, OR, NOT, XOR Logika : AND, OR, NOT, XOR
Bitwise : AND, OR, NOT, XOR, penggeseran Bitwise : AND, OR, NOT, XOR, penggeseran
bit bit
Pekerjaan pengolahan data yang rumit Pekerjaan pengolahan data yang rumit
harus dipecah menjadi kumpulan harus dipecah menjadi kumpulan
perintah-perintah dasar. perintah-perintah dasar.
Sebagai konsekuensinya pekerjaan harus Sebagai konsekuensinya pekerjaan harus
dilakukan dengan urutan-urutan dilakukan dengan urutan-urutan
pekerjaan dasar yang disusun dalam pekerjaan dasar yang disusun dalam
kendali: kendali:
Sekuential (urutan perintah) Sekuential (urutan perintah)
Kondisional (perintah bersyarat) Kondisional (perintah bersyarat)
repetisi (pengulangan perintah) repetisi (pengulangan perintah)
sub-program (pengelompokan perintah) sub-program (pengelompokan perintah)
Dasar Pemikiran Pemrograman (lanjutan) Dasar Pemikiran Pemrograman (lanjutan)
Dasar Pemikiran Pemrograman (lanjutan) Dasar Pemikiran Pemrograman (lanjutan)
Penyusunan pekerjaan yang canggih Penyusunan pekerjaan yang canggih
mempertimbangkan efektifitas dan efisiensi dari mempertimbangkan efektifitas dan efisiensi dari
setiap langkah yang dikerjakan. setiap langkah yang dikerjakan.
Program yang dihasilkan tidak saja harus bekerja Program yang dihasilkan tidak saja harus bekerja
dengan benar, tetapi juga harus disusun dengan dengan benar, tetapi juga harus disusun dengan
benar. benar.
Pembuatan program dapat dipandang sebagai Pembuatan program dapat dipandang sebagai
suatu proses rekayasa yang harus dapat suatu proses rekayasa yang harus dapat
dipertanggungjawabkan. dipertanggungjawabkan.
Dasar Pemikiran Pemrograman (lanjutan) Dasar Pemikiran Pemrograman (lanjutan)
Pada umumnya proses pembuatan Pada umumnya proses pembuatan
program tidak dapat dilakukan dengan program tidak dapat dilakukan dengan
sekali jalan sekali jalan memerlukan tahap-tahap : memerlukan tahap-tahap :
Analisa masalah Analisa masalah
Penentuan kebutuhan solusi Penentuan kebutuhan solusi program program
Perancangan Perancangan
Pembangunan Pembangunan
Pengujian Pengujian
Perbaikan dan Perbaikan dan
Dokumentasi Dokumentasi
Kuliah Pemrograman komputer
Kuliah Pemrograman komputer
Pada kuliah ini akan dibahas tentang Pada kuliah ini akan dibahas tentang
perancangan algoritma, struktur data perancangan algoritma, struktur data
dan pembangunannya dalam beberapa dan pembangunannya dalam beberapa
bahasa pemrograman. bahasa pemrograman.
Notasi Algoritma
Notasi Algoritma
Alasan diperlukannya notasi : Alasan diperlukannya notasi :
Memudahkan penyusun menuangkan ide Memudahkan penyusun menuangkan ide
dan kemudian memeriksanya kembali dan kemudian memeriksanya kembali
untuk memastikan kebenaran ide, proses untuk memastikan kebenaran ide, proses
dan hasil yang akan dicapai. dan hasil yang akan dicapai.
Menghidari kesalah-pahaman di antara Menghidari kesalah-pahaman di antara
penyusun dengan pemeriksa maupun penyusun dengan pemeriksa maupun
pengalih ke bahasa pemrograman pengalih ke bahasa pemrograman
terutama bila ini dilakukan oleh orang- terutama bila ini dilakukan oleh orang-
orang yang berbeda. orang yang berbeda.
Notasi Algoritma (lanjutan)
Notasi Algoritma (lanjutan)
Dalam kuliah ini nantinya akan Dalam kuliah ini nantinya akan
disajikan satu notasi yang dianggap disajikan satu notasi yang dianggap
baku, paling tidak untuk kalangan baku, paling tidak untuk kalangan
peserta mata kuliah ini peserta mata kuliah ini
Yang perlu diperhatikan dalam penulisan Yang perlu diperhatikan dalam penulisan
algoritma: algoritma:
Diberi : Diberi :
Identitas rancangan yang ter-enumerasi Identitas rancangan yang ter-enumerasi
identitas penyusun identitas penyusun
diskripsi proses diskripsi proses
tanggal mulai tanggal mulai
tanggal penyelesian tanggal penyelesian
identitas pemeriksa identitas pemeriksa
status hasil pemeriksaan, dan status hasil pemeriksaan, dan
berbagai catatan tambahan untuk interaksi penyusun dan berbagai catatan tambahan untuk interaksi penyusun dan
pemeriksa. pemeriksa.
Gunakan peralatan tulis yang mudah dikoreksi. Gunakan peralatan tulis yang mudah dikoreksi.
Misalkan dengan kertas dan pensil Misalkan dengan kertas dan pensil
Kesalahan dalam rancangan algoritma harus Kesalahan dalam rancangan algoritma harus
ditandai dengan jelas dan tidak boleh terhapus ditandai dengan jelas dan tidak boleh terhapus
(Misalnya dengan tinta merah). (Misalnya dengan tinta merah).
Contoh teks algoritma
Contoh teks algoritma
Function FPB(bilA : integer, bilB : integer) integer
Kamus
SisaBagi : integer
BilA : integer
BilB : integer
Algoritma
Iterate
SisaBagi BilB mod BilA
Stop(SisaBagi=0)
BilB BilA
BilA SisaBagi
End-Iterate
{Iterasi selesai : SisaBagi=0}
bilKecil {Hasil yang diberikan}
Nama pemeriksa : Astriono Pgd.
Tanggal pemeriksaan : 20 Februari 2008
Hasil
Input : Tidak dipastikan sebagai bilangan positif.
Proses : Benar.
Output : Benar.
Catatan : Harap diperhatikan jangkauan harga dari struktur data yang
dipergunakan dalam implementasinya
Nama Algoritma : Fungsi FPB (Faktor Persekutuan Terbesar) dg algoritma
Euclidean
Penyusun : Eko Pramunanto
Deskripsi : Memberikan bilangan pembagi bersama terbesar dari dua buah
bilangan bulat positif
Tanggal penulisan
Mulai : 17 Februari 2008
Selesai : 18 Februari 2008
Perbaikan ke : 2
Diperbaiki dari : FPB/1/2
ID Algoritma : FPB/1/3
Integer bisa positif atau negatif
Daftar Pustaka :
Daftar Pustaka :
Horowitz, E & Sahni, S. Horowitz, E & Sahni, S. Fundamentals of Data Structures in Fundamentals of Data Structures in
Pascal Pascal, Pitman Publishing Limited, 1984. , Pitman Publishing Limited, 1984.
Inggriani Liem. Inggriani Liem. Algoritma dan Pemrograman Algoritma dan Pemrograman, Diktat kuliah, , Diktat kuliah,
Teknik Informatika ITB, 1996. Teknik Informatika ITB, 1996.
Knuth, D.E. Knuth, D.E. The Art of Computer Programming The Art of Computer Programming, Vol. 1. , Vol. 1.
Fundamentals Algorithms Fundamentals Algorithms, Addison Wisley, 1968. , Addison Wisley, 1968.
Knuth, D.E. Knuth, D.E. The Art of Computer Programming The Art of Computer Programming, Vol. 3. , Vol. 3.
Sorting and Searching Sorting and Searching, Addison Wisley, 1968. , Addison Wisley, 1968.
Rinaldi Munir. Rinaldi Munir. Algoritma Algoritma dan Pemrograman dalam bahasa C dan Pemrograman dalam bahasa C
dan Pascal, dan Pascal, Vol. I dan II, Informatika, Bandung, 1999. Vol. I dan II, Informatika, Bandung, 1999.
Tremblay, J.P and Bunt. Tremblay, J.P and Bunt. An Introduction to Computer An Introduction to Computer
Sience, and Algorithmic Approach Sience, and Algorithmic Approach, Mc Graw Hill , Mc Graw Hill
International, Student Edition, 1980 International, Student Edition, 1980
Wirth, N. Wirth, N. Algorithms & Data Structures Algorithms & Data Structures, Prentice Hall, 1986. , Prentice Hall, 1986.
Wirth, N. Wirth, N. Systematic Programming Systematic Programming, Prentice Hall, 1975. , Prentice Hall, 1975.

You might also like