Logika dan Algoritma (LA103F): Perbedaan revisi

Dari widuri
Lompat ke: navigasi, cari
[revisi tidak terperiksa][revisi tidak terperiksa]
(PERTEMUAN 5)
(PERTEMUAN 5)
Baris 382: Baris 382:
 
=== '''PERTEMUAN 5''' ===
 
=== '''PERTEMUAN 5''' ===
  
<div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" ><b>1.  Operator �Type<br> Operator - Lanjutan</b></p></div>
+
<div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" ><b>1.  Operator Type<br> Operator - Lanjutan</b></p></div>
  
 
<div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >Tanda Operator  dapat dikelompokkan sebagai berikut:</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >1). Operator pengerjaan  (assignment operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >2). Operator matematika (arithmetic operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >3). Operator peningkatan dan penurunan (increment dan decrement operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >4). Operator hubungan  (relation operator) </p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >5). Operator logika (logical operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >6). Operator koma (comma operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >7). Operator Bitwise (bitwise operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >8). Operator alamat (address operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >9). Operator gabungan (group operator)</p></div>
 
<div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >Tanda Operator  dapat dikelompokkan sebagai berikut:</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >1). Operator pengerjaan  (assignment operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >2). Operator matematika (arithmetic operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >3). Operator peningkatan dan penurunan (increment dan decrement operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >4). Operator hubungan  (relation operator) </p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >5). Operator logika (logical operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >6). Operator koma (comma operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >7). Operator Bitwise (bitwise operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >8). Operator alamat (address operator)</p></div><div style="font-size: 12pt;font-family: 'times new roman';text-align: justify"><p style="line-height: 2" >9). Operator gabungan (group operator)</p></div>

Revisi per 12 Juli 2014 13.03

BAB I

PENDAHULUAN


LOGIKA
Diperkenalkan pertama kali oleh Aristoteles (384-322 SM)
ALGORITMA
Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Seorang ilmuan Persia yang menulis kitab al jabr w’al muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Logika

  1. penalaran atau bentuk pemikiran.

  2. ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku.

Definisi Algoritma

  1. Langkah – langkah yang dilakukan agar solusi masalah dapat diperoleh.

  2. Suatu prosedur yang merupakan urutan langkah-langkah yg berintegrasi.

  3. Suatu m etode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)


SILABUS

TUJUAN

Agar mahasiswa mampu untuk mengenal, mengerti dan memahami Setelah mengikuti kuliah Logika dan Algoritma mahasiswa diharapkan dapat menguasai dan dapat menjelaskan serta dapat menggunakan Logika dan Algoritma untuk memecahkan masalah baik secara teori maupun mempraktekanya ada 5 hal tujuan yaitu untuk :

  1. Memperkuat cara berfikir kita untuk menyelesaikan suatu masalah

  2. Membantu otak agar berfikir panjang

  3. Memperkuat analisis ketika pembuatan program

  4. Memperluas space berpikir


BAB II

LANDASAN TEORI

SATUAN ACARA PENGAJARAN

Kode  : LA103F

Mata Kuliah  : Logika dan Algoritma

Beban Kredit  : 3 SKS

Jenjang  : S1

Jurusan  : SI/TI/MI

Waktu Tatap Muka  : 2 X 50 Menit

Waktu Tugas Mandiri : 2 ( 2 X 50 Menit )

Metode Kuliah  : Tatap muka,Tugas,Presentasi

Alat  : RME, Multimedia Projector, Komputer dan Whiteboard

Evaluasi  : Kehadiran, Tugas, UTS, UAS

Dosen  : Ria Wulandari

TIU  : Mahasiswa dapat memahami jenis-jenis komputer, sistem kerja komputer, perangkat komputer, arus informasi menggunakan komputer, informasi dalam dunia maya perkembangan hardware dan software terkini, serta prospek pengembangan komputer di masa mendatang.

TIK  : Mahasiswa dapat memahami jenis-jenis komputer, sistem kerja komputer, perangkat komputer, arus informasi menggunakan komputer, informasi dalam dunia maya perkembangan hardware dan software terkini, serta prospek pengembangan komputer di masa mendatang.



BAB III

PEMBAHASAN MATERI

Materi Logika dan Algoritma

PERTEMUAN 1

1. Pengantar Algoritma

Apakah Itu Algoritma?'
Para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu:
Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.

Al-Khuwarizmi dibaca orang barat menjadi Algorism

• Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi –thm.


“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.

• Kata Logis merupakan kata kunci dalam Algoritma

• Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

• Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut

• Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya
Suatu pemroses harus :

  1. Mengerti setiap langkah dalam Algoritma

  2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

• Agar dapat dilaksanakan oleh komputer algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.

• program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer

2. Belajar Memprogram

Belajar Memprogram

• Belajar memprogram ≠ belajar bahasa pemrograman

• Belajar memprogram: belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah

• kemudian menuliskannya dalam notasi yang disepakati bersama

• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis

• Belajar memprogram, titik berat : program designer

3. Belajara Bahasa Pemprograman

Belajar Bahasa Pemrograman

• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa

• Belajar bahasa pemrograman , titik berat : coder

4. Pemrogram

Produk yang dihasilkan pemrogram :

• Program dengan rancangan yang baik (metodologis, sistematis)

• Dapat dieksekusi oleh mesin

• Berfungsi dengan benar

• Sanggup melayani segala kemungkinan masukan

• Disertai dokumentasi

• Belajar memprogram, titik berat : program designer

5. Notasi Algoritma

• Algoritma

• Aksi :

- Kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan berakhir pada saat T1)

- Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan

• Contoh analogi:

- Membuat pisang goreng

Notasi algoritma:

- Independen Terhadap Bahasa PemrogramanNotasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrogramanIndependen Terhadap Mesin Komputer

- Karena notasi algoritma independen terhadap bahasa pemrograman maka dapat diterapkan pada mesin komputer manapun.

6. Pemrograman Prosedural

• Algoritma adalah proses yang procedural

• Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :

  1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.

  2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.

• Pada pemrograman procedural, program dibedakan:

- Bagian data

- Bagian instruksi

• Bagian Data terdiri atas:

- Variabel

- Konstanta

• Bagian instruksi terdiri atas:

- Runtutan (Sequence)

- Percabangan (Selection)

- Perulangan (Repetition)

7. Programming Language Paradigm

• Skema paradigma pemrograman


PERTEMUAN 2

1. Teknik Penyajian Algoritma

• Teknik Tulisan

- Structure English

- Pseudocode

• Teknik Gambar

- Structure Chart

- HIPO

- Flowchart

- Nassi Schneiderman Chart

2. Pseudocode

Pseudocode
- Kode mirip dengan kode pemrograman yang sebenarnya.
- Arti pseudo: imitasi atau mirip atau menyerupai
- Arti code: kode program.
- Basis: bahasa pemrograman- Lebih rinci dari structure English,
- Dapat menyatakan tipe data yang digunakan

struktur penulisan:
- sequence structure
- selection structure
- looping structure.

3. Aturan Penulisan Algoritma

• Setiap Algoritma akan selalu terdiri dari tiga bagian -Bagian yaitu :
- Judul (Header)
- Kamus (Deklarasi)
- Algoritma (Deskripsi)

• Komentar mengenai setiap bagian dituliskan diantara tanda kurung kurawa
contoh:

{ Komentar }

4. Judul Header

• adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi.
Contoh:

5. Kamus (Deklarasi)

adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
- Nama type
- Nama konstanta
- Nama variabel
- Nama fungsi
- Nama prosedur

Kamus
{Nama type, hanya untuk type yang bukan type dasar}
type jam : <hh,mm,ss :integer> {yaitu “hh” jam. “mm” sebagai menit dan “ss”
sebagai detik}

{Nama konstanta, harus menyebutkan type dan nilai }
constant phi : real = 3,14159
constant nama : string = ‘Alex’
constant benar : boolean = true

{Nama Informasi, menyebutkan type}
x,y : integer {suatu nilai yang bertype bilangan bulat}
NMax : real {nilai maksimum yang bertype bilangan real}
Nama : string {suatu nilai yang merupakan kumpulan character}
Cari : Boolean {suatu nilai logika}

{Nama fungsi, menyebutkan domain dan range}
function RealToInt (x:real) → integer
{mengubah harga x yang bertype real menjadi harga ekivalen yang bertype integer}
{Nama prosedur, menyebutkan “IS” initial state, “FS” final state dan proses}
procedure tukar (input/output x,y : real)
{ IS x dan y terdefinisi, x = a dan y = b
FS x = b dan y = a
Proses : menukar isi informasi bilangan x dan y }

adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikanKomponen algoritma (deskripsi) berupa :
- Instruksi dasar seperti input/output, assignment
- Sequence (runtutan)
- Operasi kondisional
- Perulangan

• Contoh

• Contoh Lengkap:

6. Contoh Penulisan Algoritma Lengkap

7. Flowchart

Simbol-simbol standard Flowchart

8. Teknik Penyajian Algoritma dengan Flow Chart

Sequence Structure (struktur urut)


Selection Structure (Struktur Seleksi)
IF Selection


Selection Structure (Struktur Seleksi)
IF – ELSE Selection


Selection Structure (Struktur Seleksi)
CASE Selection


Looping/Repetition Structure (Struktur Pengulangan)
Front Check Repetition

Looping/Repetition Structure (Struktur Pengulangan)
Rear Check Repetition

Looping/Repetition Structure (Struktur Pengulangan)
Fixed Repetition


PERTEMUAN 3

1. Nilai

Nilai → Besaran dari tipe data yang sudah dikenal
Pengisian nilai ke dalam variable

Contoh:

2. Pengisian Nilai

Contoh:
Pengisian variable dengan nilai dari variable lain

Pengisian variable dari hasil operasi suatu ekspresi
Pengisian variable dari hasil operasi suatu ekspresi

2. Pembacaan Nilai Dari Input Device

Nilai untuk mengisi suatu variable dapat diisi dari piranti masukan (input device )</p></div>

Contoh:

3. Penulisan Nilai ke Output Device

Nilai yang disimpan dapat ditampilkan ke piranti keluaran (output device )

Contoh:

4. Ekpresi

Transformasi nilai menjadi keluaran dilakukan melalui suatu perhitungan (komputasi).

Ekspresi terdiri atas:
- Operand: nilai yang dioperasikan dengan operator tertentu
- Operator

Dikenal 3 macam ekspresi:
- ekspresi aritmetik,
- ekpresi relasional,
- ekspresi string

5. Ekpresi Aritmatik

- Operasi yang seluruh operand-nya dan hasil operasinya bertipe numerik
- Operasi yang menggunakan operator aritmetik (dibahas pada pertemuan 4)- Penulisan ekspresi aritmetik:

Contoh ekspresi aritmetik:

6. Ekpresi Rasional

- Ekspresi relasional adalah ekspresi dengan
menggunakan operator relational (dibahas pada pertemuan 4)
- Hasil operasi adalah nilai bertipe boolean (true atau false)
- Contoh:
Misal ketemu bernilai false, ada bernilai true, X bernilai 10, Y bernilai 10

7. Ekpresi String

Ekspresi string adalah ekspresi dengan operator “+” (concatenation/penyambungan)

Contoh:



Syntax dalam C++


8. Pengisian Nilai








9. Pembacaan & Penulisan Nilai dari/ke I/O device

Input/Output
Untuk membaca atau menampilkan data pada console (layar) dapat menggunakan:

  1. library <stdio. h>
    1. Printf'
    2. Scanf
  2. library <iostream.h>
    1. Count
    2. Cin

10. Input/Output


Contoh Dengan Library <stdio.h>
Untuk Bilangan Integer



Contoh Dengan Library <stdio.h>
Untuk Bilangan Float


Contoh Dengan Library <stdio.h>
Untuk String


Contoh Dengan Library <iostream.h>


Contoh Dengan Library <iostream.h>


PERTEMUAN 4

1. Konstanta (Const)


• Konstanta adalah suatu nilai yang telah di definisikan dan nilainya tidak akan berubah selama progran tersebut di eksekusi.

• Konstanta terdiri dari konstanta numerik dan konstanta non numerik.

• Konstanta non numerik disebut dengan konstanta string yang dalam penulisan selalu di apit dengan tanda kutip (“)Contoh:

  1. constant phi : real = 3,14159
  2. constant nama : string = ‘Alex’
  3. constant pilih : boolean = true

2. Variabel

• Variabel adalah identifier berisi data yang dapat dirubah dalam program.

• Contoh pseudocode:

gaji, tunjangan : real

Nama : string(25)

• Contoh kode C++ :

float gaji, tunjangan;

int jmlAnak=3;

bool menikah;

char keterangan[25];

3. Type Data dan Variable

TYPE DATA
• Tipe Data Sederhana (Primitive Data Type)
• Tipe Data Terstruktur (Structural Data Type)
dibahas pada struktur data
• Tipe Data Pointer (Pointer Data Type)
dibahas pada struktur data

4. Type Data Sederhana

5. Type Data Sederhana C++


6. Operator


• Operator merupakan simbol atau kata yang dapat digunakan dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua nilai, memberikan nilai ke variable, membandingkan dua buah nilai dan sebagainya

• Sebagian operator C++ tergolong sebagai operator binary yaitu operator yang dikenakan terhadap dua buah nilai

• Contoh:
A+B
A*B


7. Operator
Type Operator

• Operator pengerjaan (assignment operator)
• Operator matematika (arithmetic operator)
• Operator peningkatan dan penurunan (increment dan decrement operator)
• Operator hubungan (relational operator)
• Operator logika (logical operator)
• Operator Bitwise (bitwise operator)
• Operator alamat (address operator)
• Operator koma (comma operator)
• Operator gabungan (group operator)

8. Operator Pengerjaan
(Assignment Operator)
Type Operator

• Operator pengerjaan (assignment) pada pseudocode berupa simbol ←

• Digunakan untuk mengisikan nilai yang berada disebelah kanannya variable yang ditunjukan disebelah kirinya.

• Contoh pseudocode:
A ← 5
B ← C
D ← A + B


9. Operator Pengerjaan Contoh
kode lengkap C++



10. Operator Aritmatika


Tabel Operator Aritmatika

Contoh pseudocode:
A ← A + 5
B ← C + A * 2
D ← 2 * A + B



11. Operator Increment dan Decrement

• Operator peningkatan ditandai dengan tanda operasi (++) dan Operator Penurunan di tandai dengan menggunakan tanda operasi (--)

• Operator ++ (increment) digunakan untuk menambahkan 1 pada nilai sebelumnya.

• Operator ++ (decrement) digunakan untuk mengurangi 1 pada nilai sebelumnya.

• Contoh pseudocode:
A++
++B
C--
--D

12. Operator Increment dan Decrement
Contoh Kode C++

13. Operator Relasi(Relational Operators)

• Operator hubungan (relational operators) digunakan untuk membandingkan dua elemen nilai dan dihasilkan nilai perbandingannya, yaitu betul (bernilai 1) atau salah (bernilai 0).

• Operator ini banyak digunakan pada penyeleksian suatu kondisi pada statement IF.

14. Tabel Operator Relasi

• Contoh pseudocode:
IF nilai>=70 then
output(“Lulus”)
Else
output(“Tidak Lulus”)
Endif

15. Operator Relasi Contoh Kode C++


16. Operator Logika

• Nilai perbandingan operator logika menghasilkan dua kemungkinan nilai yaitu: True atau False.

• Operator ini banyak digunakan pada penyeleksian suatu kondisi pada statement IF.

17. Operator Logika
Tabel Kebenaran (Truth Table)




PERTEMUAN 5

1. Operator Type
Operator - Lanjutan

Tanda Operator dapat dikelompokkan sebagai berikut:

1). Operator pengerjaan (assignment operator)

2). Operator matematika (arithmetic operator)

3). Operator peningkatan dan penurunan (increment dan decrement operator)

4). Operator hubungan (relation operator)

5). Operator logika (logical operator)

6). Operator koma (comma operator)

7). Operator Bitwise (bitwise operator)

8). Operator alamat (address operator)

9). Operator gabungan (group operator)


PERTEMUAN 6


PERTEMUAN 7


PERTEMUAN 8


PERTEMUAN 9


PERTEMUAN 10



PERTEMUAN 11



PERTEMUAN 12


PERTEMUAN 13



PERTEMUAN 14

Contributors

Yessi Frecilia