Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Bahan Ajar Berpikir Logis dan Algoritmik, Papers of Computer Programming

Matakuliah dasar pemrograman, berisi materi materi pengenalan mata kuliah dasar pemrograman

Typology: Papers

2019/2020

Uploaded on 10/28/2020

meilinda-estevani
meilinda-estevani 🇮🇩

5

(4)

2 documents

1 / 99

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
BA
10
TI1014
1
BUKU I BAHAN AJAR
Berfikir Logis dan Algoritmik
MATA KULIAH
DASAR-DASAR PEMROGRAMAN
Penyusunan Bahan Ajar Dalam Kurikulum Berbasis
Kompetensi (Kurikulum 2007) ini dibiayai dari DIPA
Politeknik Negeri Bandung
Kementerian Pendidikan Nasional
Tahun Anggaran 2010
Disusun oleh :
Ade Chandra Nugraha, S.Si, MT
NIP. 132 231 592
PROGRAM STUDI DIPLOMA III TEKNIK INFORMATIKA
JURUSAN TEKNIK KOMPUTER DAN INFORMATIKA
POLITEKNIK NEGERI BANDUNG
2010
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63

Partial preview of the text

Download Bahan Ajar Berpikir Logis dan Algoritmik and more Papers Computer Programming in PDF only on Docsity!

BA 10 TI1014 1

BUKU I BAHAN AJAR

Berfikir Logis dan Algoritmik

MATA KULIAH

DASAR-DASAR PEMROGRAMAN

Penyusunan Bahan Ajar Dalam Kurikulum Berbasis Kompetensi (Kurikulum 2007) ini dibiayai dari DIPA Politeknik Negeri Bandung Kementerian Pendidikan Nasional Tahun Anggaran 2010

Disusun oleh : Ade Chandra Nugraha, S.Si, MT NIP. 132 231 592

PROGRAM STUDI DIPLOMA III TEKNIK INFORMATIKA

JURUSAN TEKNIK KOMPUTER DAN INFORMATIKA

POLITEKNIK NEGERI BANDUNG

i

HALAMAN PENGESAHAN

  1. Identitas Bahan Ajar a. Judul Bahan Ajar : Berfikir logis dan algoritmik b. Mata Kuliah / Semester : Dasar-dasar Pemrograman / 1 c. SKS (T-P)/ Jam (T – P) : 4 (2 – 2) / 7 (3 – 4) d. Jurusan : Teknik Komputer dan Informatika e. Program Studi : D3 Teknik Informatika f. Nomor Kode Mata Kuliah : TI 1014
  2. Penulis Penulis 1 a. Nama : Ade Chandra Nugraha, S.Si, MT b. NIP : 132 231 592 c. Pangkat / Golongan : Penata Muda Tkt 1 / III b d. Jabatan Fungsional : Asisten Ahli e. Program Studi : D3 Teknik Informatika f. Jurusan : Teknik Komputer dan Informatika Penulis 2 : N/A

Bandung, Juli 2010

Mengetahui, Ketua KBK Penulis 1,

Joe Lian Min, M.Eng Ade Chandra Nugraha, S. Si, MT NIP. 132 140 889 NIP. 132 231 592

Menyetujui, Ketua Program Studi D3 Teknik Informatika

Irwan Setiawan, S.Si, MT NIP. 198004192005011002

iii

DAFTAR ISI

vi

DAFTAR ISTILAH

File : Kumpulan data yang tersimpan dalam media “secondary storage”. Final State : keadaan akhir, merupakan penterjemahan tujuan program Initial State : keadaan awal, merupakan titik tolak dari sebuah program. p/l : Perangkat lunak, yaitu komponen/elemen sistem komputasi yang tidak dapat dijamah secara fisik. Merupakan bagian sistem komputasi hasil implementasi dari logika pemrograman.

vii

DAFTAR TABEL

Halaman

Tabel 1. Aspek Kunci sebuah Program .................................................................................... 2 Tabel 2. Karakteristik bahasa pemrograman ............................................................................ 7 Tabel 3. Perbandingan Coding ................................................................................................. 7 Tabel 4. Perbedaan Logika dalam struktur Pengulangan ....................................................... 42

ix

DESKRIPSI MATA KULIAH

Identitas Mata Kuliah

a. Judul Mata Kuliah : Dasar-dasar Pemrograman b. Nomor Kode / SKS : TI 1014 / 4 c. Semester / Tingkat : 1 / I d. Prasyarat : Ilmu matematika SMA e. Jumlah Jam / Minggu : 7

Ringkasan Topik / Silabus

Berpikir logis dibutuhkan dalam menyelesaikan suatu permasalahan. Solusi yang sistematis akan mengoptimalkan langkah kerja. Keterbatasan manusia menuntut adanya peran alat (computer) dalam membantu menyelesaikan permasalahan di bidang informatika. Agar komputer dapat berperan dalam menyelesaikan permasalahan di dunia nyata, tentunya perlu diturunkan langkah kerja / proses yang sistematis sehingga Final State dapat dicapai dari Initial State yang didefinisikan.

Pembahasan dimulai dengan membiasakan diri untuk berpikiran logis, detil dan sistematis. Dilanjutkan dengan cara pendokumentasian pola pikir tersebut kedalam format baku dunia informatika. Algoritma yang disusun ditambah dengan kemampuan memahami syntaks dalam bahasa pemrograman tertentu akan memudahkan coding untuk mengimplementasikan perangkat lunak aplikasi yang sesuai dengan kebutuhannya. Optimalisasi dan pemikiran akan sifat reusability dari algoritma yang dibuat menuntut adanya pemahaman modularitas program yang memecah program menjadi beberapa sub program dengan tujuan yang spesifik.

Setalah mahasiswa dapat mendokumentasikan algoritma dari proses-proses sederhana, maka di phase berikut mahasiswa mulai diberikan pemahaman terkait dengan bahasa pemrograman tertentu dengan pendekatan terstruktur, dimulai dari

x

keyword dalam bahasa pemrograman, struktur program sampai dengan pembuatan modul program yang memudahkan pembuatan program besar secara teamwork.

Diharapkan dengan kemampuan mahasiswa untuk meng coding modul-modul generic – seperti counting, summing, searching dan sorting - dapat menjadi modal dalam pembuatan algoritma dan implementasi program yang memiliki kemampuan lebih kompleks.

Kompetensi yang Ditunjang

Kompetensi yang ditunjang oleh mata kuliah Dasar-dasar pemrograman adalah berpikir logis dan algoritmik, Menganalisis kebutuhan perangkat lunak, merancang perangkat lunak, mengembangkan perangkat lunak, serta mendokumentasikan perangkat lunak.

Tujuan Pembelajaran Umum

Setelah menyelesaikan matakuliah ini, mahasiswa dapat mengenal metode pemecahan masalah dan pengembangan algoritma melalui pendekatan yang taat aturan; mengetahui abstraksi proses dan data; mengetahui dan dapat merancang, meng- coding , men- debugging , melakukan testing dan menyusun dokumentasi program menggunakan gaya pemrograman yang baik; serta dapat menerapkan keterkaitan dan hirarki program; sehingga dapat memberikan dasar bagi studi lanjut dalam kajian ilmu komputer.

Tujuan Pembelajaran Khusus

Setelah menyelesaikan matakuliah ini, mahasiswa dapat berfikir logis dan terstruktur dalam rangka memberikan alternatif solusi bagi permasalahan yang diberikan, khususnya dalam proses komputasi. Pemberian alternatif solusi untuk komputasi dapat didukung oleh adanya struktur proses dan struktur data yang dipilih. Mahasiswa juga harus mampu menguraikan dan mendokumentasikan alternatif solusi menggunakan sequential statement ( pseudocode ) atau menggunakan diagram flowchart.

Setelah mengikuti mata kuliah ini mahasiswa diharapkan :

  • mampu mengungkapkan suatu masalah dan penyelesaiannya dalam bentuk yang terstruktur
  • mengetahui dan memahami aspek aspek penting pemrograman komputer.

xii

PETUNJUK PENGGUNAAN

Pedoman Mahasiswa

Pengajaran dilaksanakan dengan menggunakan cara-cara sebagai berikut :

  1. pemberian materi melalui interaksi di kelas
  2. pemberian materi untuk dipelajari secara mandiri, disertai dengan evaluasi di kelas
  3. latihan terbimbing di kelas
  4. tugas mandiri dengan disertai pembahasan di kelas

Pedoman Pengajar

Beberapa faktor penting dalam pelaksanaan pengajaran :

  • jumlah dan variasi alternatif solusi beserta contoh kasusnya
  • " hands-on " programming bahasa tingkat tinggi ( high-level ) sangat membantu membentuk pengertian yang benar dan "non-verbal".
  • bahasa pemrograman yang dipakai : high-level , general ( mis. C ), sifat " strong-typed " sangat dibutuhkan untuk membatasi " ambiguity, complexity & dirty-tricks ". Pergunakanlah bahasa yang ada secara "standard"!
  • pelaksanaan " hands-on " sedemikian rupa sehingga mewakili secara ideal proses perancangan/ pembuatan algoritma berdasarkan struktur proses dan datanya

Penggunaan Ilustrasi dalam Bahan Ajar

Ilustrasi dan bahan ajar dalam buku ini sebagian besar diadopsi dari referensi yang tercantum dalam Daftar Pustaka.

BAB I PROGRAM DAN ALGORITMA

Tujuan Pembelajaran Umum :

Memberikan wawasan dan pengetahuan secara umum tentang ‘ bagaimana memahami permasalahan ’ dan ‘ bagaimana berfikir logis untuk memberikan alternatif solusi’.

Setelah menyelesaikan pembahasan ini, mahasiswa :

  • Memahami dasar dan latar belakang berpikiran logis.
  • Dapat mengidentifikasi tahapan proses secara naratif untuk menyelesaikan permasalahan tertentu

Tujuan Pembelajaran Khusus :

Setelah menyelesaikan pembahasan ini, mahasiswa :

Dapat menyebut definisi program dan program komputer, definisi algoritma serta mengetahui pentingnya berpikir logis dan sistematis. Mengetahui langkah dan proses umum pembuatan program komputer serta pola penterjemahan instruksi komputer ditinjau dari level bahasa pemrograman. Menterjemahkan naratif proses dunia nyata dalam struktur yang sistematis dan logis serta dapat merumuskan bagaimana komputer dapat membantu proses otomatisasi.

Pre Test

v Sebutkan tahapan proses untuk satu kegiatan rutin yang biasa dilakukan. v Definisi program (secara umum) yang mahasiswa ketahui.

1.1.2 Struktur Pada Sebuah Program

Pengertian struktur pada suatu program adalah "established relationship" ( keterkaitan yang dimapankan ) antara 2 atau lebih bagian dari suatu program ( operasi adalah bagian terkecil dari suatu program ). Struktur dapat dibedakan dalam 2 kelompok besar sbb :

  • PARALEL : lebih dari 1 operasi dilakukan secara serentak.
  • NON-PARALEL : tidak ada 2 operasi/lebih yg dilakukan serentak. Pada masalah pemrograman komputer struktur paralel dianggap "advanced" (tidak akan dibahas pada kesempatan ini). Sedangkan kelompok struktur Non-Paralel terdiri dari 3 kategori sbb : Sequence : atau urutan, suatu operasi dilakukan setelah operasi lain. Selection : atau pilihan, hanya boleh dilaksanakan satu diantara beberapa operasi. Repetition : atau pengulangan, operasi dilakukan terus menerus sampai suatu kondisi tertentu. Pengertian struktur mencakup pula aspek hirarki diantara program s/d operasi :

operasihimpunan operasisuper himpunan operasi....dst s/dprogram atau programsubprogramsub-sub-program...dst s/d operasi

1.1.3 Operasi dan Pelaksana

Operasi adalah " Action " yang menghasilkan " Effect ". Yang dimaksud dengan effect ialah suatu perubahan state tertentu. Dengan kata lain :

Operasi harus menghasilkan perubahan dari suatu state ke state lainnya.

Operasi harus bersifat " well-defined ", yang berarti : diketahui secara definitif

  • OBJEK yang dikenainya, dan
  • (PERUBAHAN) STATE yang dihasilkannya OPERASI PRIMITIF adalah operasi yang tidak perlu diurai lebih lanjut. Beberapa hal yang berkaitan dengan OPERASI PRIMITIF :
  • level operasi primitif tergantung pada karakteristik pelaksana (pintar atau bodohnya ).
  • makin tinggi level pemrograman, maka makin kompleks operasi primitif dan objek yang dikenainya.
  • makin tinggi level pemrograman , maka makin banyak kemudahan yang tersedia bagi pemrogram, dan makin manusiawi bentuk interaksi pemrogram dan pelaksana.
  • makin rendah level pemrograman , maka proses pembuatan program makin : time- consuming, effort-consuming.

1.1.4 Bahasa

Dalam sebuah program, bahasa dapat diterjemahkan sebagai :

  • himpunan aturan untuk menyatakan state ( kondisi ), operasi, objek dan struktur.
  • secara implisit setiap "bahasa" disusun berdasarkan anggapan tertentu mengenai karakterisitik pelaksana, oleh karena itu : ada kategorisasi bahasa menurut level dan spesialisasi bidang masalah.

1.2 PROGRAM - KOMPUTER

Program komputer adalah program yang pelaksananya adalah komputer. Komputer pada dasarnya adalah pemroses logika elementer (biner), dengan objek nilai biner ( octal/hexadecimal ) yang merepresentasi-kan data atau objek arsitektural komputer ybs. Dengan kata lain, dalam pemrogramannya hanya boleh dipergunakan :

  1. operasi logika elementer ( And, or, not )
  2. objek nilai biner/ octal/ hexadecimal

demikian diciptakan sebuah lingkungan pemrograman aras tinggi (" high-level " ), bahasanya disebut sebagai bahasa-aras-tinggi (" high-level-language ").

1.2.2 Kompiler Dan Interpreter

Program yang ditulis dalam bahasa aras tinggi harus diterjemahkan menjadi program bahasa mesin yang setara dengannya. Penterjemahan ini dapat dilakukan melalui 2 cara :

  • interpretasi : penterjemahan dilakukan per pernyataan, kemudian langsung dilaksanakan. Program penterjemahnya disebut sebagai " interpreter ".
  • kompilasi : seluruh program diterjemahkan dahulu menjadi program bahsa mesin, kemudian baru dilaksanakan. Program penterjemahnya disebut sebagai " compiler ". Program bahasa aras tinggi disebut sebagai program-sumber (" source- program "), dan program bahasa mesin hasil terjemahan disebut sebagai program- objek (" object-program ").

1.2.3 Bahasa Generasi ke 4 dan 5

Dalam pembuatan dan realisasi bahasa pemrograman tingkat tinggi selanjutnya dilakukan usaha-usaha lebih jauh untuk memberi sebanyak mungkin kemudahan dalam proses pembuatan program komputer. Teknologi bahasa pemrograman saat ini dapat diklasifikasikan sebagai berikut:

  • bahasa generasi ke 4 ( " 4 th^ generation language " ) : ide pertama mengenai pemrograman aras tinggi diatas dianggap sebagai bahasa generasi ke 3. Pada bahasa generasi ke 4 timbul pemudahan dengan cara menghadirkan jenis-jenis operasi serta objek yang lebih kompleks. Biasanya jenis operasi serta objek dibuat berdasarkan suatu konsep tertentu.

penterjemahanoleh program lain

programbahasa tingkat

programbahasa mesin

tinggi

source-program

object-program

( compiler )

bahasa^ kompilasi tingkat^ program tinggi menjadi programmesin bahasa Gambar 2. Proses Kompilasi

  • bahasa generasi ke 5 ( " 5 th^ generation language " ) : dibuat program program yang sangat membantu sehingga pembuatan program komputer bersifat " hampir- otomatik ", artinya sang "pemrogram" sebenarnya hanya membuat spesifikasi saja, program komputernya sendiri dibuatkan oleh program lain.

1.2.4 Perbandingan Karakteristik Aras Bahasa

Sebagai kesimpulan dapat diperlihatkan sebuah perbandingan karakteristik bahasa pemrograman seperti di bawah ini: Tabel 2. Karakteristik bahasa pemrograman aras/ level operasi spesifik objek operasi spesifik rendah logika biner seperti and, or, shitf-left, shift-right dalam bentuk kode biner/ heksadesimal

nilai biner/ heksadesimal, alamat memori, register CPU dan alamat I/O port dalam kode biner/ heksadesimal menengah idem diatas tapi dalam kode mnemonic

kode mnemonic dari suatu nilai atau register CPU Tinggi matematis seperti : +, -, sinus dsb., baca dan tulis I/O, semuanya dalam kode mnemonic

kode mnemonic yang mewakili : variabel atau file yang berisi nilai tertentu

Dari kesimpulan di atas, maka bandingan coding yang dapat dilakukan dalam sebuah "program" untuk menambahkan 2 buah nilai adalah sebagai berikut : Tabel 3. Perbandingan Coding Level bentuk "program" penjelasan Rendah A1A

0306A

A3AA

A1 adalah kode hex untuk operasi salin ke register AX dari memori, 01A6 adalah alamat memori data yang disalin 0306 adalah kode hex untuk operasi penambahan ke register AX dengan nilai dari memori, 01A8 adalah alamat memori data yang ditambahkan A3 adalah kode hex untuk operasi salin dari register AX ke memori, 01AA adalah alamat memorinya.