Materi DDP 1 - Pengantar Pemrograman

45
Materi 1 Pengantar Pemrograman Army Basten

Transcript of Materi DDP 1 - Pengantar Pemrograman

Page 1: Materi DDP 1 - Pengantar Pemrograman

Materi 1

Pengantar Pemrograman

Army Basten

Page 2: Materi DDP 1 - Pengantar Pemrograman

Materi 1

Sistem

Page 3: Materi DDP 1 - Pengantar Pemrograman

Definisi Sistem

• Menurut LUDWIG VON BARTALANFY, Sistem merupakan seperangkat unsur yang saling terikat dalam suatu antar relasi diantara unsur-unsur tersebut dengan lingkungan.

• Menurut ANATOL RAPOROT, Sistem adalah suatu kumpulan kesatuan dan perangkat hubungan satu sama lain.

• Menurut L. ACKOF, Sistem adalah setiap kesatuan secara konseptual atau fisik yang terdiri dari bagian-bagian dalam keadaan saling tergantung satu sama lainnya.

Page 4: Materi DDP 1 - Pengantar Pemrograman

Pendekatan Sistem dari Segi Prosedurnya

• “Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu”.

Page 5: Materi DDP 1 - Pengantar Pemrograman

Pendekatan Sistem dari Segi Elemennya

• “Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu”.

Page 6: Materi DDP 1 - Pengantar Pemrograman

Contoh :

Page 7: Materi DDP 1 - Pengantar Pemrograman

Persyaratan Sistem

• Sistem harus dibentuk untuk menyelesaikan tujuan.• Elemen sistem harus mempunyai rencana yang

ditetapkan.• Adanya hubungan diantara elemen sistem.• Unsur dasar dari proses (arus informasi, energi dan

material) lebih penting daripada elemen sistem.• Tujuan organisasi lebih penting dari pada tujuan elemen.

Page 8: Materi DDP 1 - Pengantar Pemrograman

Model Umum Sistem

Page 9: Materi DDP 1 - Pengantar Pemrograman

Sasaran (Objectives) atau Tujuan (Goal)

• Tujuan (Goal) biasanya dihubungkan dengan ruang lingkup yang lebih luas.

Contoh:

Sistem bisnis perusahaan

Sistem pemerintahan

Page 10: Materi DDP 1 - Pengantar Pemrograman

...

• Sasaran (objectives) dalam ruang lingkup yang lebih sempit.

Contoh:

Sistem HRD, Sistem Akuntansi, dll

Sistem Provinsi, Kecamatan, Kelurahan, dll

Page 11: Materi DDP 1 - Pengantar Pemrograman

Sub Sistem

• Subsistem sebenarnya hanyalah sistem di dalam suatu sistem, ini berarti bahwa sistem berada pada lebih dari satu tingkat.

Sistem mobil

Sub Sistem: sistem mesin, sistem rangka, dll

Contoh lain??

Page 12: Materi DDP 1 - Pengantar Pemrograman

Supersistem

• Jika suatu sistem adalah bagian dari sistem yang lebih besar, sistem yang lebih besar itu adalah supersistem.

Contoh??

Page 13: Materi DDP 1 - Pengantar Pemrograman

Kesimpulan

• Suatu sistem terdiri dari elemen yang bisa berbentuk individu atau bagian-bagian yang terpisah, kemudian berinteraksi satu sama lain untuk mencapai tujuan.

Page 14: Materi DDP 1 - Pengantar Pemrograman

Komputer

• Komputer:Dari asal kata “Compute”: menghitung.

mesin yang dapat melalukan proses komputasi / menghitung.

Mesin yang digunakan untuk melakukan tindakan sesuai apa yang diperintahkan.

• Perlu suatu bahasa yang digunakan untuk memerintahkan komputer melakukan suatu tindakan yaitu bahasa mesin.

Page 15: Materi DDP 1 - Pengantar Pemrograman

• 2 komponen utama komputer:o Hardware/Perangkat Keraso Software/Perangkat Lunak

• Brainware: orang yang mengoperasikan komputer.

Page 16: Materi DDP 1 - Pengantar Pemrograman

Software (Perangkat Lunak / Program Komputer)

• Software (perangkat lunak atau program komputer) merupakan suatu aplikasi yang di dalamnya terdiri dari kumpulan instruksi yang memberitahukan pada komputer apa yang harus dilakukan.

• Contoh Program Komputer: Notepad: menulis note, menyimpan note

dsb. SIASAT: registrasi matakuliah, lihat nilai dsb. Dsb.

Page 17: Materi DDP 1 - Pengantar Pemrograman

Bahasa Pemrograman

• Merupakan bahasa yang digunakan untuk menulis instruksi yang dimengerti oleh komputer.

• Bahasa pemrograman program komputer.• Jenis bahasa pemrograman:

o Bahasa Mesin: tersusun dari kode biner (1 dan 0)o Low Level: misal bahasa rakitan/Assembly.

contoh sintaks: ADD, MOVo High Level: misal: Pascal, C/C++, Java, Basic, dsb.

contoh sintaks: writeln(‘saya’); dalam Pascal

printf(“saya”); dalam C.

Page 18: Materi DDP 1 - Pengantar Pemrograman

Bahasa Mesin

Low Level

High Level

Page 19: Materi DDP 1 - Pengantar Pemrograman

Compiler

• Supaya perintah dalam bahasa pemrograman yang digunakan (Assembly maupun bahasa tingkat tinggi) dapat dipahami oleh komputer dan dapat dijalankan oleh microprosessor, maka perintah-perintah tersebut harus diterjemahkan terlebih dahulu ke bahasa mesin proses kompilasi (compiling).

• Program atau software yang digunakan untuk proses kompilasi disebut compiler.

• Untuk bahasa pemrograman Pascal, compiler yang bisa digunakan adalah Turbo Pascal dan Free Pascal.

Page 20: Materi DDP 1 - Pengantar Pemrograman

Algoritma

Asal kata Algoritma berasal dari nama seorang

ilmuan Persian yang bernama Abu Ja’far

Mohammed lbn Musa al-Khowarizmi, yang

menulis kitab al jabr w’al-muqabala (rules of

restoration and reduction)

Page 21: Materi DDP 1 - Pengantar Pemrograman

Definisi Algoritma• Definisi Algoritma :

– Urutan langkah logis tertentu untuk memecahkan suatu masalah ( Microsoft Press Computer and Internet Dictionary 1997,1998)

– Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani)

• Dari dua definisi diatas dapat disimpulkan bahwa :– Algoritma harus mengikuti suatu urutan aturan tertentu dan

tidak boleh melompat-lompat– Algoritma seseorang dengan yang lain dapat berbeda-beda

karena mempunyai alur pikir yang berbeda-beda pula– Algoritma dapat berupa kalimat, gambar atau tabel tertentu

Page 22: Materi DDP 1 - Pengantar Pemrograman

Kriteria Algoritma

• Input: algoritma dapat memiliki nol atau lebih inputan dari luar.

• Output: algoritma harus memiliki minimal satu buah output keluaran.

• Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas.

• Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).

• Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Page 23: Materi DDP 1 - Pengantar Pemrograman

Sifat Algoritma

• Sifat-sifat Algoritma pada umumnya:

– Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman

– Tidak tergantung pada suatu bahasa pemrograman

– Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun

Page 24: Materi DDP 1 - Pengantar Pemrograman

Proses Algoritma

• Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.

• Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu.

• Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.

• Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Page 25: Materi DDP 1 - Pengantar Pemrograman

Pseudo Code

• Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah.

• Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma

Page 26: Materi DDP 1 - Pengantar Pemrograman

Contoh• Problem: mencari bilangan terbesar dari dua bilangan yang

diinputkan

• Contoh Algoritma:1. Masukkan bilangan pertama2. Masukkan bilangan kedua3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4,

jika tidak, kerjakan langkah 5.4. Tampilkan bilangan pertama5. Tampilkan bilangan kedua

• Contoh Pseudo-code:1. Input a2. Input b3. If a > b then kerjakan langkah 44. print a5. print b

Page 27: Materi DDP 1 - Pengantar Pemrograman

Contoh

Algoritma Pseudo-Code

Nilai x ditambah 3 x x + 3

Cetak nilai y jika lebih besar dari 5 if y > 5 THEN PRINT y

Cari bilangan terbesar antara x dan y If x > y THEN PRINT x ELSE PRINT y

Page 28: Materi DDP 1 - Pengantar Pemrograman

Program

• Bagian-bagian program :

– Input

– Proses

– Output : Minimal satu output

Page 29: Materi DDP 1 - Pengantar Pemrograman

Program

• Langkah-langkah pembuatan program :1. Mendefinisikan Masalah

2. Mencari Solusi

3. Membuat Algoritma

4. Menulis Program

5. Menguji Program

6. Menulis Dokumentasi

Page 30: Materi DDP 1 - Pengantar Pemrograman

Mendefinisikan Masalah

• Langkah mendefinisikan masalah ini seringkali dilupakan oleh orang / programmer

• Hukum Murphy (by Henry Ledgard) :– “Semakin cepat menulis program, akan

semakin lama kita dapat menyelesaikannya”.

• Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

Page 31: Materi DDP 1 - Pengantar Pemrograman

Mencari Solusi• Jika masalah terlalu kompleks, maka ada baiknya

masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.

• Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul:

– meminta masukkan berupa matriks bujur sangkar

– mencari invers matriks

– menampilkan hasil kepada pengguna

• Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.

Page 32: Materi DDP 1 - Pengantar Pemrograman

Membuat Algoritma

Dalam membuat algoritma usahakan memenuhi

dua (syarat) utama, yaitu :

– Algoritma harus seefesien mungkin

– Algoritma harus benar-benar sesuai dengan solusi yang kita dapatkan

Page 33: Materi DDP 1 - Pengantar Pemrograman

Menulis Program

Pilihlah bahasa yang mudah dipelajari,

mudah digunakan, dan lebih baik lagi jika

sudah dikuasai, memiliki tingkat

kompatibilitas tinggi dengan perangkat

keras dan platform lainnya.

Page 34: Materi DDP 1 - Pengantar Pemrograman

Menguji Program

Setelah program jadi, silahkan uji program

tersebut dengan segala macam

kemungkinan yang ada, termasuk error-

handlingnya sehingga program tersebut

akan benar-benar handal dan layak

digunakan.

Page 35: Materi DDP 1 - Pengantar Pemrograman

Menulis Dokumentasi

Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

Page 36: Materi DDP 1 - Pengantar Pemrograman

Flowchart

• Definisi :• Bentuk gambar/diagram yang mempunyai aliran satu atau dua

arah secara sekuensial

• Kegunaan :

• Mempermudah programmer dalam menentukan alur logika program

• Untuk mempresentasikan program kepada orang lain

• Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman

Page 37: Materi DDP 1 - Pengantar Pemrograman

Lambang-Lambang FlowchartLAMBANG KETERANGAN

Terminator (Mulai / Selesai)

Aliran Data

Input / Output

Process / Proses

Page 38: Materi DDP 1 - Pengantar Pemrograman

Lambang-Lambang Flowchart

LAMBANG KETERANGAN

Decision / Percabangan

Preparation / Memberi Nilai Awal Variabel

Predefined Process/

Sub-Program

Page 39: Materi DDP 1 - Pengantar Pemrograman

Lambang-Lambang Flowchart

LAMBANG KETERANGAN

Connector pada halaman yang sama

Connector pada halaman lain

Stored Data / Simpan Data

Display / Tampilkan

Page 40: Materi DDP 1 - Pengantar Pemrograman

Contoh Flowchart

• Menghitung luas persegi panjang

• Algoritma :1. Masukkan nilai panjang (p)

2. Masukkan nilai lebar (l)

3. Hitung luas (L), yaitu panjang dikali lebar (p x l)

4. Cetak luas (L)

Mulai

Masukkan p

Masukkan l

Luas = p* l

Tulis L

Selesai

Page 41: Materi DDP 1 - Pengantar Pemrograman

Bahasa Pemograman

• Perkembangan Bahasa Pemograman

– Bahasa Mesin

– Bahasa Assembly

– Bahasa Tingkat Tinggi

– Spesific Problem Oriented

Page 42: Materi DDP 1 - Pengantar Pemrograman

Bahasa Tingkat Tinggi• Disebut juga sebagai the 3rd Generation Programming Language

• Dibandingkan dengan bahasa mesin dan assembly, bahasa tingkat tinggi ini lebih mudah dipelajari karena lebih dekat dengan bahasa manusia

• Memberi banyak fasilitas kemudahan dalam pembuatan program, mis.: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur, dll.

• Contoh pemograman bahasa tingkat tinggi, yaitu: Pascal, Basic, C, C++, Java

• (+) : Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program pendek

• (-) : Eksekusi lambat

Page 43: Materi DDP 1 - Pengantar Pemrograman

Tugas

• Buatlah Algoritma dan Flowchart untuk soal-soal sebagai berikut

– Menentukan bilangan terbesar• Input : nilai A, nilai B dan nilai C• Proses : Perbandingan nilai A, B dan C• Output : nilai terbesar

Page 44: Materi DDP 1 - Pengantar Pemrograman

See You Next Week

Page 45: Materi DDP 1 - Pengantar Pemrograman

[email protected]

• Twitter : @basten_army

• Fb : armmy van basten/ armmy basten