0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan

Programming (Week 1)

Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan

Programming (Week 1)

Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 20

Algoritma dan Pemrograman I

• Bagus Alit Prasetyo, S.T , M.Sc.


• Master of science – National Chin-Yi University
of Technology ( Electrical Engineering, Control
and System Lab)
Sarjana – Universitas Widyatama ( Teknik
Informatika )
[email protected]
(089512226070)
Ringkasan Kuliah
Deskripsi :
Mata kuliah ini berisi materi Algoritma dan
pemrograman berupa pengertian Algoritma,
ciri penting algoritma, aturan penulisan
algoritma dan bahasa pemrograman
Standar Kompetensi :
Mampu mengerti apa itu Algoritma , Bahasa
Pemrograman dan Praktik Pemrograman Dasar.
SUBSTANSI MATAKULIAH

1. Pendahuluan ( Week 1 )
2. TIPE DATA DAN EKSPRESI ( Week 2 )
3. RUNTUNAN (SEQUENCE) ( Week 3 )
4. PEMILIHAN (SELECTION) ( Week 4 )
5. PENGULANGAN (LOOPING) ( Week 5 )
6. TIPE BENTUKAN ( Week 6 )
7. ARRAY DAN ARRAY 2 DIMENSI ( Week 7 )
9. FUNGSI DAN PROSEDUR ( Week 11 )
10. SEARCHING DAN SORTING ( Week 9)
11. REKURSIF ( Week 10 )
12. MENGENAL PYTHON PROGRAMMING
( Week 12 )
13. EMBEDDED PROGRAMMING ( Week 13 )
14. TUGAS BESAR I ( Week 14 )
15. TUGAS BESAR II ( Week 15 )

UTS dilaksanakan pada pertemuan ke-8 sedangkan UAS pada


pertemuan ke-16
Sistem Penilaian
• UTS ( Soal Tertulis ) 35%
• UAS ( Tugas Besar ) 40%
• TUGAS & Kuis 25%
• Syarat Kehadiran minimal 80%
Pendahuluan
• Era teknologi informasi yang berkembang semakin pesat, pemrograman sudah
menjadi kegiatan yang sangat penting. Program-program yang berjalan di
perangkat komputer, mobile phone, console game, vending machine, dan
sebagainya tidak akan tercipta begitu saja, tetapi ditulis melalui serangkaian
proses yang panjang, mulai dari analisis kebutuhan, perancangan,
implementasi, testing sampai program tersebut release. Sebuah program
komputer pada dasarnya mengimplementasikan algoritma. Dengan kata lain,
algoritma adalah ide dibalik program komputer apa pun.

• Program komputer dibuat untuk menyelesaikan suatu permasalahan tertentu.


Dengan adanya masalah, akan tercipta pemikirian bagaimana cara
menyelesaikan permasalahan tersebut. Contohnya dalam kegiatan sehari-hari,
dahulu kita menyimpan daftar nomor telepon di dalam sebuah buku. Namun
akan menjadi masalah ketika kita ingin mencari nomor telepon seseorang jika
isi dari buku banyak sekali nama dan nomor telepon orang . Oleh karena itu
terdapat solusi untuk menyimpan data dalam sebuah database yang dapat
mengurutkan data secara otomatis. Tentunya database ini dibuat dengan cara
memprogram. Sementara ide-ide dalam memprogram dapat menghasilkan
algoritma.
• Pengertian Algoritma
Permasalahan yang kecil dapat kita cari solusinya dengan mudah dan cepat.
Tetapi bagaimana jika permasalahannya berukuran besar? Misalnya,
mengurutkan 5 kontak telepon akan sangat mudah dan cepat tetapi jika kita ingin
mengurutkan 1000 kontak telepon tentunya akan sangat sulit. Oleh karena itu,
kita perlu menuliskan prosedur berisi langkah-langkah pengurutan kontak
telepon sehingga prosedur tersebut dapat dijalankan oleh mesin pemroses yang
akan membantu kita dalam menjalankan pengurutannya. Prosedur ini bisa kita
sebut algoritma.

Algoritma adalah urutan langkah-langkah untuk menyelesaikan suatu masalah.


Definisi lain menurut beberapa literatur antara lain :
Menurut Cormen, algoritma adalah prosedur komputasi yang terdefinisi dengan
baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan
beberapa nilai yang disebut keluaran. Jadi, algoritma adalah deretan langkah-
langkah komputasi yang mentransformasikan data masukan menjadi keluaran
• Ciri Penting Algoritma
Dalam membuat algoritma, harus diperhatikan ciri-ciri penting dari
algoritma, antara lain :

• Algoritma harus memiliki nol atau labih masukan (besaran yang


diberikan pada algoritma sebelum algoritma mulai bekerja).
• Algoritma harus memiliki satu atau lebih keluaran (besaran yang
memiliki hubungan dengan masukan).
• Algoritma harus sangkil (efektif), setiap langkah harus sederhana
sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
• Algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas.
• Setiap langkah harus didefinisikan dengan tepat dan tidak memiliki
arti ganda (ambigous)
• Banyak cara untuk membuat penyelesaian masalah, namun harus
dipilih cara yang efisien (dalam hal ini algoritma yang efisien).
• Aturan Penulisan Algoritma
Pada dasarnya, teks algoritma selalu disusun oleh tiga bagian (blok) yaitu
judul algoritma, kamus dan algoritma. Setiap bagian sebaiknya disertai
dengan komentar (kalimat yang diapit oleh tanda kurung kurawal) untuk
memperjelas maksud teks yang dituliskan.

Judul : menyatakan nama algoritma (nama algoritma sebaiknya singkat namun cukup
menggambarkan apa yang dilakukan algoritma tersebut)

Kamus : berfungsi sebagai bagian untuk mendefinisikan semua nama yang dipakai dalam
algoritma

Algoritma : yang berisi langkah-langkah penyelesaian masalah


Pemrograman
Berikut ini adalah beberapa definisi dari pemrograman :
• Kumpulan instruksi-instruksi tersendiri yang biasanya disebut source
code yang dibuat oleh programmer (pembuat program)
• Kumpulan instruksi atau perintah yang disusun sedemikian rupa
sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan
suatu persoalan. (Menurut P. Insap Santosa)
• Suatu rangkaian instruksi-instruksi dalam bahasa komputer yang
disusun secara logis dan sistematis dengan tujuan untuk memecahkan
suatu masalah serta nembuat mudah pekerjaan penggunan komputer.
• Mem-program komputer, secara teknis bertujuan untuk Memasukkan/
menyusun sejumlah instruksi dan data ke memory, yang selanjutnya
akan diambil satu persatu oleh CPU/Processor untuk dilaksanakan
Secara garis besar pemrograman terdiri atas Compiler, Linker, dan Loader. Seorang
programmer akan menulis program dan menyimpannya sebagai source file/ file sumber.
Kemudian compiler akan mentranslasikan perintah agar dapat dibaca oleh processor, jika
terjadi kesalahan, maka compiler akan memberitahu programmer daftar kesalahan yang
harus diperbaiki. Jika sudah diperbaiki dan tidak ada kesalahan, maka compiler akan
menghasilkan file object baru dan file object lain yang akan dihubungkan oleh linker dan
menghasilkan file executable yang siap dijalankan.
• Kriteria Pemrograman
Hal-hal berikut harus dimiliki oleh pemrograman, yaitu
• Ekspresifitas
Dalam memprogram, ada banyak ekspresi yang harus dijalankan. Ekspresi yang dimaksud adalah
komputasi dalam komputer seperti penjumlahan, pengurangan, dan perbandingan
• Definitas
Dalam program komputer, akan ada banyak nama-nama yang digunakan. Nama-nama ini akan
dideklarasikan pada kamus data beserta tipe datanya
• Tipe data dan strukturnya
Setiap data memiliki jenis tersendiri. Ada yang berisi bilangan bulat, bilangan desimal, karakter, dan
sebagainya. Ini yang disebut tipe data.
• Modularitas
Untuk menyelesaikan permasalahan yang besar, diperlukan pembagian masalah menjadi potongan-
potongan masalah berukuran kecil. Di sinilah modularitas dari program.
• Adanya Input dan Output
Setiap program harus memiliki input dan output, sesuai dengan arti pemrograman itu sendiri.
• Portabilitas
Program harus dapat digunakan pada berbagai platform.
• Efisiensi
Program yang baik adalah program yang efisien. Tidak membutuhkan waktu yang lama untuk
menjalankan instruksi
• Interaktif
Program harus dapat berinteraksi dengan pengguna. Pengguna mengetahui kapan harus melakukan
input, menunggu, sampai mendapatkan hasil.
• Umum
Pemrograman dapat dipahami.
Sifat-sifat pemrograman
• Program Oriented : program selalu berubah, bersifat
statis dan tidak flexible. Ex : Program Animasi
• Data Oriented : program tidak selalu berubah, bersifat
dinamis, dan flexibilitas tinggi. Ex : Program Aplikasi
• Program Interaktif :dapat mengatur piranti masukan &
keluaran
• Program Efisiensi : program yang efisien dalam hal
pernyataan atau instruksi program itu sendiri,
pemakaian memori, dan pemakaian piranti masukan &
keluaran.
• Portabilitas Program : penulisan program ditentukan
oleh mesin komputer dan/atau Sistem operasinya
Paradigma Pemrograman

• Paradigma Prosedural atau imperative


• Paradigma Fungsional
• Paradigma Deklaratif, predikatif atau lojik
• Paradigma Berorientasi Objek (Object
Oriented)
• Bahasa Pemrograman
Ada banyak sekali bahasa pemrograman, mulai dari bahasa tingkat rendah (bahasa
mesin dalam biner), bahasa asembler (dalam kode mnemonik), bahasa tingkat tinggi,
sampai bahasa generasi ke empat (4GL). Bahasa Pemrograman berkembang dengan
cepat sejak tahun enampuluhan, seringkali dianalogikan dengan menara Babel yang
berakibat manusia menjadi tidak lagi saling mengerti bahasa masing-masing. Untuk
setiap paradigma, tersedia bahasa pemrograman yang mempermudah implementasi
rancangan penyelesaian masalahnya. Contoh bahasa-bahasa pemrograman yang ada :
• Prosedural : Algol, Pascal, Fortran, Basic, Cobol, C ...
• Fungsional : LOGO, APL, LISP
• Deklaratif/Lojik : Prolog
• Object oriented murni: Smalltalk, Eifel, Jaca, C++..
• Konkuren : OCCAM, Ada, Java
• Relasional: SQL pada basisdata relasional

Paradigma Objek mulai ditambahkan pada bahasa-bahasa yang ada. Pemroses bahasa
Pascal dan C versi terbaru dilengkapi dengan fasilitas terorientasi objek, misalnya
Turbo Pascal (mulai versi 5.5) pada komputer pribadi (PC) dan C++. Ada beberapa
versi LISP dan Prolog yang juga memasukkan aspek OO. Suatu program dalam bahasa
pemrograman tertentu akan diproses oleh pemroses bahasanya. Ada dua kategori
pemroses bahasa, yaitu kompilator dan interpreter. Dalam melakukan implementasi
program, tersedia bahasa pemrograman visual atau tekstual.
• Produk yang dihasilkan oleh seorang pemrogram adalah program
dengan rancangan yang baik (metodologis, sistematis), yang dapat
dieksekusi oleh mesin, berfungsi dengan benar, sanggup melayani
segala kemungkinan masukan, dan didukung dengan adanya
dokumentasi. Pengajaran pemrograman titik beratnya adalah
membentuk seorang perancang "designer" program, sedangkan
pengajaran bahasa pemrograman titik beratnya adalah
membentuk seorang "coder" (juru kode).

• Pada prakteknya, suatu rancangan harus dapat dikode untuk


dieksekusi dengan mesin. Karena itu, belajar pemrograman dan
belajar bahasa pemrograman saling komplementer, tidak mungkin
dipisahkan satu sama lain.
• Metoda terbaik untuk belajar apapun adalah melalui
contoh. Seorang yang sedang belajar harus belajar
melalui contoh nyata. Berkat contoh nyata itu dia
melihat, mengalami dan melakukan pula. Metoda
pengajaran yang dipakai pada perkuliahan
pemrograman fungsional ini adalah pengajaran melalui
contoh tipikal. Contoh tipikal adalah contoh program
yang merupakan “pola solusi” dari kelas-kelas persoalan
yang dapat diselesaikan. Contoh tipikal tersebut
dikembangkan dan dipakai untuk belajar dan mengajar
sesuai dengan paradigma pemrograman yang diajarkan.
Assignment
• Apa perbedaan algorithm/algoritma dan
codes/program
• Apa perbedaan pemrograman terstruktur dan
pemrograman objek
Thank You!
Daftar Pustaka
• Inggriani Liem. 2007. Diktat Kuliah Dasar Pemrograman.
Bandung : ITB
• Rinaldi Munir. Algoritma dan Pemrograman : Jilid 1. Bandung :
Informatika

Anda mungkin juga menyukai