SlideShare a Scribd company logo
1 of 34
TYPE, NAMA & HARGA
Algoritma Pemrograman
Drs. Lamhot Sitorus, M.Kom
Fakultas Ilmu Komputer
Universitas Katolik Santo Thomas
TYPE
• Digunakan untuk mendefinisikan objek yang akan
diprogram.
• Type data dasar dan type data bentukan.
• Type data dasar adalah type data yang
diasumsikan ada sehingga siap untuk digunakan.
• Type data bentukan adalah type data yang
dibentuk oleh pemrogram dan dibentuk
berdasarkan type data dasar.
• Type data menentukan alokasi memori di
komputer, tetapi hanya mendefinisikan pola
struktur informasi.
2
TYPE
• Mendefinisikan TYPE berarti :
– Menentukan NAMA dalam Kamus
– Definisi domain harga yang dapat dipunyai oleh
NAMA
– Konvensi atau perjanjian tentang penulisan
Konstanta bertype tersebut
– Operator yang dapat dioperasikan terhadap objek
bertype tersebut

3
TYPE DATA DASAR
• Dilihat dari sisi algoritma, yang termasuk type
data dasar adalah :
– Bilangan Logika
– Bilangan Bulat
– Bilangan Riil
– Karakter

4
Bilangan Logika
•
•
•
•

Nama
: Boolean
Domain : [true, false]
Konstanta : true false
Operator : AND, OR, XOR, NOT

5
Bilangan Bulat
•
•
•
•
•
•

Nama
: integer
Domain
:Z
Konstanta : 0 3 12 123 -98 999
Operator : - Aritmatika (+, -, *, /, ^, div, Mod, Abs)
Relasi (<, >, <=, >=, , =)
Bilangan integer mempunyai keterurutan, yang
didefinisikan dengan Successor (SUCC) dan Predecessor
(PRED).
• Untuk operator aritmatika akan menghasilkan hasil dengan
type data bilangan bulat juga kecuali pembagian yang akan
menghasilkan bilangan Riil. Sedangkan untuk operator
relasional akan menghasilkan hasil dengan type data
Boolean.
6
Bilangan Riil
•
•
•
•
•
•
•

Nama : Real
Domain : R
Konstanta
: Angka mengandung ‘.’
0.2 0 3.233 123. -9.88 999.
Operator : - Aritmatika (+, -, *, ^, /)
Operator Relasional (<, >, , )
Untuk operator aritmatika akan menghasilkan
hasil dengan type data bilangan Riil. Sedangkan
untuk operator relasional akan menghasilkan
hasil dengan type data Boolean.
7
Karakter
•
•
•
•
•

Nama
: Character
Domain : Kode ASCII
Konstanta : ‘a’ ‘m’ ‘K’ ‘P’ ‘1’ ‘8’ Return Space
Operator : Perbandingan (= dan 
Ada karakter yang kelihatan dan ada juga karakter yang
tidak kelihatan.
• Type karakter juga mempunyai keterurutan yang
ditentukan oleh representasi di dalam komputer,
misalnya pengkodean ASCII.
• Operator Perbandingan akan menghasilkan type data
boolean
8
TYPE DATA BENTUKAN
• Type data yang dibentuk dan diberi nama oleh
pemrogram dari berdasarkan type data dasar.
• Jika suatu type bentukan yang dibentuk dari
type data dasar maka type data bentukan
tersebut dilakukan seperti yang didefinisikan
pada tipe data dasar.
• Yang termasuk kedalam type data bentukan
adalah String, Record (structure), pointer.
9
NAMA
• Adalah sesuatu yang dipakai sebagai identifikasi :
–
–
–
–

Type sesuai dengan definisi type
Nama Variabel, Nama Konstanta
Nama Fungsi
Modul program, algoritma dsb

•
• Semua nama harus didefinisikan dalam KAMUS.
• Dalam setiap bahasa pemrograman mempunyai aturan penulisan
tertentu.
• Dalam kuliah algoritma tidak ada aturan ketat mengenai nama,
yang penting setiap nama harus interpretatif dan jika singkat harus
disertai dengan penjelasannya.
• Penulisan nama sebaiknya dikelompokkan.

10
NAMA
KAMUS
{Nama Variabel}
Nmax
: integer
Found
: Boolean
P
: Point
CC
: Character
{Nama Konstanta}
Constant Phi : Real =3.14
Constant Ka : Character = ‘K’
Constant Faktor : Integer = 3
Constant Ketemu : Boolean = true
{Nama Fungsi}
Function Faktorial (n : Integer) : Integer
{Nama Prosedure
Procedure Inisialisasi
Procedure Tukar(Input/Output : A,B : Real)
11
EKSPRESI
• Adalah suatu rumus perhitungan yang terdiri
dari operand dan operator.
• Hasil perhitungan adalah harga dengan
domain yang memnuhi type operator yang
bersangkutan.
• Operand adalah sesuatu nilai atau sesuatu
nama yang memiliki nilai yang dioperasikan
sesuai dengan operator.
• Operator adalah simbol-simbol khusus yang
digunakan untuk operasi tertentu.

12
EKSPRESI
• Ekspresi Logika adalah ekspresi yang
menghasilkan type data Boolean.
• Operand dapat berupa konstanta atau variabel
bertype boolean, integer atau Real.
• Operator yang digunakan adalah operator
Boolean (AND, OR, NOT, XOR) dan operator
Relasional (<, >, , , =, ).

13
EKSPRESI
• Ekspresi Aritmatika adalah ekspresi yang
menghasilkan nilai bertype numerik (integer
atau Real).
• Operandnya harus berupa konstanta atau
variabel numerik (integer atau real).
• Operator yang dapat digunakan adalah
operator aritmatika dan relasional.

14
EKSPRESI
• Ekspresi String adalah ekspresi yang hasilnya
String.
• Operandnya berupa variabel atau konstanta
string.
• Sedangkan operator yang dapat digunakan
adalah operator konstruksi (+ atau
concatenation).

15
HARGA
• Adalah suatu besaran bertype yang telah
dikenal.
• Harga dalam suatu algoritma dapat diperoleh
dari :
– Isi suatu Nama Konstanta, Nama Variabel
– Hasil perhitungan suatu ekspresi
– Hasil yang dikirim suatu fungsi
– Konstanta tanpa diberi nama yang dipakai
langsung
16
HARGA
• Harga dapat dimanipulasi dengan cara :
– Diisikan ke Nama variabel yang mempunyai type
yang sesuai dengan harga tersebut
– Dituliskan ke piranti keluaran
– Dipakai dalam ekspresi

17
Assignment (Penugasan)
• Adalah menyimpan harga pada suatu Nama
atau memberikan harga pada suatu Nama.
• Dengan pemberian harga ini, harga lama yang
disimpan tidak lagi berlaku, yang berlaku
adalah harga yang paling akhir yang diberikan.
• Memprogram pada hakekatnya adalah
memanipulasi nama yang mewakili alokasi
memori tertentu.
• Manipulasi harga terhadap Nama dilakukan
dengan Assignment.

18
Notasi algoritmik untuk pemberian
harga (assignment)
ALGORITMA
Nama  Nama1
Nama  Konstanta
Nama  ekspresi

Dengan syarat :
Bagian kiri dan bagian kanan tanda  bertype sama
Nama harus berupa Nama Variabel
Nama1 boleh berupa nama variabel, nama konstanta atau nama
fungsi
19
Notasi algoritmik pemberian harga
dari piranti masukan
ALGORITMA
INPUT(List_Name)
Dengan syarat : List_Name adalah satu atau lebih nama
variabel dan harus nama variabel

20
Notasi algoritmik untuk penulisan
harga ke piranti
ALGORITMA
OUTPUT (List_Name)
OUTPUT(Konstanta)
OUTPUT(Ekspresi)
OUTPUT(List_Name, Konstanta, Ekspresi)
Dengan syarat :
List_Name adalah satu atau lebih nama  Nama Variabel, Nama Konstanta,
Nama Fungsi
Nama yang dituliskan sudah terdefinisisebelumnya

21
Contoh Soal Latihan
• Contoh 1. Tuliskan algoritma untuk menulis
kata ‘Hello’ ke piranti keluaran yang
disediakan.

22
23
Contoh Soal Latihan
• Contoh 2. Tuliskan algoritma untuk menulis
kata ‘Hello’ yang diikuti dengan nama
seseorang yang masukkan dari piranti
masukan.

24
25
Contoh Soal Latihan
• Contoh 3. Dibaca dua buah bilangan v dan t
yang menyatakan harga kecepatan (m/det)
dan waktu (detik) yang mewakili koefisien
persamaan gerak lurus beraturan. Harus
dihitung dan dituliskan jarak yang ditempuh
benda yang bergerak lurus beraturan dengan
kecepatan v tersebut dalam waktu t.

26
27
Contoh Soal Latihan
• Contoh 4. Dibaca sebuah bilangan bulat positif
yang lebih kecil dari 1 juta yang mewakili
besaran dalam detik. Harus dihitung
ekivalensinya, berapa hari, berapa jam, berapa
menit dan berapa detik.

28
29
Contoh Soal Latihan
• Contoh 5. Tuliskanlah algoritma untuk
membaca dua buah besaran bertype Jam yang
mewakili awal dan akhir suatu percakapan
telepon dan menuliskan durasi waktu dalam
detik yang dihitung dari kedua jam yang
dibaca. Type jam terdiri dari Jam, Menit, Detik
dan dipakai sistem jam dengan Jam 00:00:00
sampai dengan 24:60:60
30
31
32
Sampai ketemu di materi berikutnya...

 Test Kondisi 

33
34

More Related Content

What's hot

Materi 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritmaMateri 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritmaMelva Amma Kalian
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanAndri Yanto
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15doudomblogspot
 
Apresentação recursividade rev2
Apresentação recursividade rev2Apresentação recursividade rev2
Apresentação recursividade rev2Rogerio Oliveira
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascalSimon Patabang
 
Kalkulus sistem bilangan
Kalkulus sistem bilanganKalkulus sistem bilangan
Kalkulus sistem bilanganGusti Rahman
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar RelasionalRatzman III
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 
Big O - Analisa Algoritma
Big O - Analisa AlgoritmaBig O - Analisa Algoritma
Big O - Analisa AlgoritmaFajar Baskoro
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAdam Mukharil Bachtiar
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerohohervin
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAdam Mukharil Bachtiar
 
mencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Cmencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Ckir yy
 

What's hot (20)

Materi 3. flowchart
Materi 3. flowchartMateri 3. flowchart
Materi 3. flowchart
 
Materi 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritmaMateri 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritma
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
Ebook pascal.pdf
Ebook pascal.pdfEbook pascal.pdf
Ebook pascal.pdf
 
Apresentação recursividade rev2
Apresentação recursividade rev2Apresentação recursividade rev2
Apresentação recursividade rev2
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascal
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
 
Kalkulus sistem bilangan
Kalkulus sistem bilanganKalkulus sistem bilangan
Kalkulus sistem bilangan
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar Relasional
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Big O - Analisa Algoritma
Big O - Analisa AlgoritmaBig O - Analisa Algoritma
Big O - Analisa Algoritma
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
#1 PENGENALAN PYTHON
#1 PENGENALAN PYTHON#1 PENGENALAN PYTHON
#1 PENGENALAN PYTHON
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
Algoritma powerpoint
Algoritma powerpointAlgoritma powerpoint
Algoritma powerpoint
 
mencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Cmencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di C
 

Similar to OPTIMIZED ALGO

Tugas blog
Tugas blog Tugas blog
Tugas blog ryass
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotran90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotranmocoz
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
BAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptx
BAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptxBAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptx
BAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptxnyomans1
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basicYang Terluka
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1ysvcyber
 
Algo temu 2 instruksi fundamental
Algo temu 2 instruksi fundamentalAlgo temu 2 instruksi fundamental
Algo temu 2 instruksi fundamentalSenna Hendrian
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator javaSaprudin Eskom
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascalfhnx
 
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.pptAnisIka
 
Algoritma - tipe data
Algoritma - tipe dataAlgoritma - tipe data
Algoritma - tipe dataZombie Black
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxppurnama
 

Similar to OPTIMIZED ALGO (20)

Topik 4 Tipe Data
Topik 4 Tipe DataTopik 4 Tipe Data
Topik 4 Tipe Data
 
3.1 tipe data
3.1 tipe data3.1 tipe data
3.1 tipe data
 
3.1 tipe data
3.1 tipe data3.1 tipe data
3.1 tipe data
 
Alex algoritma-02
Alex algoritma-02Alex algoritma-02
Alex algoritma-02
 
Pemrograman Komputer - 3
Pemrograman Komputer - 3Pemrograman Komputer - 3
Pemrograman Komputer - 3
 
Alex algoritma-02
Alex algoritma-02Alex algoritma-02
Alex algoritma-02
 
Tugas blog
Tugas blog Tugas blog
Tugas blog
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotran90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotran
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
BAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptx
BAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptxBAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptx
BAB 2_TIPE DATA, VARIABEL, DAN OPERATOR (1) (1).pptx
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basic
 
Algo 1 2
Algo 1 2Algo 1 2
Algo 1 2
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1
 
Algo temu 2 instruksi fundamental
Algo temu 2 instruksi fundamentalAlgo temu 2 instruksi fundamental
Algo temu 2 instruksi fundamental
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator java
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascal
 
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
 
Algoritma - tipe data
Algoritma - tipe dataAlgoritma - tipe data
Algoritma - tipe data
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptx
 

OPTIMIZED ALGO

  • 1. TYPE, NAMA & HARGA Algoritma Pemrograman Drs. Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Katolik Santo Thomas
  • 2. TYPE • Digunakan untuk mendefinisikan objek yang akan diprogram. • Type data dasar dan type data bentukan. • Type data dasar adalah type data yang diasumsikan ada sehingga siap untuk digunakan. • Type data bentukan adalah type data yang dibentuk oleh pemrogram dan dibentuk berdasarkan type data dasar. • Type data menentukan alokasi memori di komputer, tetapi hanya mendefinisikan pola struktur informasi. 2
  • 3. TYPE • Mendefinisikan TYPE berarti : – Menentukan NAMA dalam Kamus – Definisi domain harga yang dapat dipunyai oleh NAMA – Konvensi atau perjanjian tentang penulisan Konstanta bertype tersebut – Operator yang dapat dioperasikan terhadap objek bertype tersebut 3
  • 4. TYPE DATA DASAR • Dilihat dari sisi algoritma, yang termasuk type data dasar adalah : – Bilangan Logika – Bilangan Bulat – Bilangan Riil – Karakter 4
  • 5. Bilangan Logika • • • • Nama : Boolean Domain : [true, false] Konstanta : true false Operator : AND, OR, XOR, NOT 5
  • 6. Bilangan Bulat • • • • • • Nama : integer Domain :Z Konstanta : 0 3 12 123 -98 999 Operator : - Aritmatika (+, -, *, /, ^, div, Mod, Abs) Relasi (<, >, <=, >=, , =) Bilangan integer mempunyai keterurutan, yang didefinisikan dengan Successor (SUCC) dan Predecessor (PRED). • Untuk operator aritmatika akan menghasilkan hasil dengan type data bilangan bulat juga kecuali pembagian yang akan menghasilkan bilangan Riil. Sedangkan untuk operator relasional akan menghasilkan hasil dengan type data Boolean. 6
  • 7. Bilangan Riil • • • • • • • Nama : Real Domain : R Konstanta : Angka mengandung ‘.’ 0.2 0 3.233 123. -9.88 999. Operator : - Aritmatika (+, -, *, ^, /) Operator Relasional (<, >, , ) Untuk operator aritmatika akan menghasilkan hasil dengan type data bilangan Riil. Sedangkan untuk operator relasional akan menghasilkan hasil dengan type data Boolean. 7
  • 8. Karakter • • • • • Nama : Character Domain : Kode ASCII Konstanta : ‘a’ ‘m’ ‘K’ ‘P’ ‘1’ ‘8’ Return Space Operator : Perbandingan (= dan  Ada karakter yang kelihatan dan ada juga karakter yang tidak kelihatan. • Type karakter juga mempunyai keterurutan yang ditentukan oleh representasi di dalam komputer, misalnya pengkodean ASCII. • Operator Perbandingan akan menghasilkan type data boolean 8
  • 9. TYPE DATA BENTUKAN • Type data yang dibentuk dan diberi nama oleh pemrogram dari berdasarkan type data dasar. • Jika suatu type bentukan yang dibentuk dari type data dasar maka type data bentukan tersebut dilakukan seperti yang didefinisikan pada tipe data dasar. • Yang termasuk kedalam type data bentukan adalah String, Record (structure), pointer. 9
  • 10. NAMA • Adalah sesuatu yang dipakai sebagai identifikasi : – – – – Type sesuai dengan definisi type Nama Variabel, Nama Konstanta Nama Fungsi Modul program, algoritma dsb • • Semua nama harus didefinisikan dalam KAMUS. • Dalam setiap bahasa pemrograman mempunyai aturan penulisan tertentu. • Dalam kuliah algoritma tidak ada aturan ketat mengenai nama, yang penting setiap nama harus interpretatif dan jika singkat harus disertai dengan penjelasannya. • Penulisan nama sebaiknya dikelompokkan. 10
  • 11. NAMA KAMUS {Nama Variabel} Nmax : integer Found : Boolean P : Point CC : Character {Nama Konstanta} Constant Phi : Real =3.14 Constant Ka : Character = ‘K’ Constant Faktor : Integer = 3 Constant Ketemu : Boolean = true {Nama Fungsi} Function Faktorial (n : Integer) : Integer {Nama Prosedure Procedure Inisialisasi Procedure Tukar(Input/Output : A,B : Real) 11
  • 12. EKSPRESI • Adalah suatu rumus perhitungan yang terdiri dari operand dan operator. • Hasil perhitungan adalah harga dengan domain yang memnuhi type operator yang bersangkutan. • Operand adalah sesuatu nilai atau sesuatu nama yang memiliki nilai yang dioperasikan sesuai dengan operator. • Operator adalah simbol-simbol khusus yang digunakan untuk operasi tertentu. 12
  • 13. EKSPRESI • Ekspresi Logika adalah ekspresi yang menghasilkan type data Boolean. • Operand dapat berupa konstanta atau variabel bertype boolean, integer atau Real. • Operator yang digunakan adalah operator Boolean (AND, OR, NOT, XOR) dan operator Relasional (<, >, , , =, ). 13
  • 14. EKSPRESI • Ekspresi Aritmatika adalah ekspresi yang menghasilkan nilai bertype numerik (integer atau Real). • Operandnya harus berupa konstanta atau variabel numerik (integer atau real). • Operator yang dapat digunakan adalah operator aritmatika dan relasional. 14
  • 15. EKSPRESI • Ekspresi String adalah ekspresi yang hasilnya String. • Operandnya berupa variabel atau konstanta string. • Sedangkan operator yang dapat digunakan adalah operator konstruksi (+ atau concatenation). 15
  • 16. HARGA • Adalah suatu besaran bertype yang telah dikenal. • Harga dalam suatu algoritma dapat diperoleh dari : – Isi suatu Nama Konstanta, Nama Variabel – Hasil perhitungan suatu ekspresi – Hasil yang dikirim suatu fungsi – Konstanta tanpa diberi nama yang dipakai langsung 16
  • 17. HARGA • Harga dapat dimanipulasi dengan cara : – Diisikan ke Nama variabel yang mempunyai type yang sesuai dengan harga tersebut – Dituliskan ke piranti keluaran – Dipakai dalam ekspresi 17
  • 18. Assignment (Penugasan) • Adalah menyimpan harga pada suatu Nama atau memberikan harga pada suatu Nama. • Dengan pemberian harga ini, harga lama yang disimpan tidak lagi berlaku, yang berlaku adalah harga yang paling akhir yang diberikan. • Memprogram pada hakekatnya adalah memanipulasi nama yang mewakili alokasi memori tertentu. • Manipulasi harga terhadap Nama dilakukan dengan Assignment. 18
  • 19. Notasi algoritmik untuk pemberian harga (assignment) ALGORITMA Nama  Nama1 Nama  Konstanta Nama  ekspresi Dengan syarat : Bagian kiri dan bagian kanan tanda  bertype sama Nama harus berupa Nama Variabel Nama1 boleh berupa nama variabel, nama konstanta atau nama fungsi 19
  • 20. Notasi algoritmik pemberian harga dari piranti masukan ALGORITMA INPUT(List_Name) Dengan syarat : List_Name adalah satu atau lebih nama variabel dan harus nama variabel 20
  • 21. Notasi algoritmik untuk penulisan harga ke piranti ALGORITMA OUTPUT (List_Name) OUTPUT(Konstanta) OUTPUT(Ekspresi) OUTPUT(List_Name, Konstanta, Ekspresi) Dengan syarat : List_Name adalah satu atau lebih nama  Nama Variabel, Nama Konstanta, Nama Fungsi Nama yang dituliskan sudah terdefinisisebelumnya 21
  • 22. Contoh Soal Latihan • Contoh 1. Tuliskan algoritma untuk menulis kata ‘Hello’ ke piranti keluaran yang disediakan. 22
  • 23. 23
  • 24. Contoh Soal Latihan • Contoh 2. Tuliskan algoritma untuk menulis kata ‘Hello’ yang diikuti dengan nama seseorang yang masukkan dari piranti masukan. 24
  • 25. 25
  • 26. Contoh Soal Latihan • Contoh 3. Dibaca dua buah bilangan v dan t yang menyatakan harga kecepatan (m/det) dan waktu (detik) yang mewakili koefisien persamaan gerak lurus beraturan. Harus dihitung dan dituliskan jarak yang ditempuh benda yang bergerak lurus beraturan dengan kecepatan v tersebut dalam waktu t. 26
  • 27. 27
  • 28. Contoh Soal Latihan • Contoh 4. Dibaca sebuah bilangan bulat positif yang lebih kecil dari 1 juta yang mewakili besaran dalam detik. Harus dihitung ekivalensinya, berapa hari, berapa jam, berapa menit dan berapa detik. 28
  • 29. 29
  • 30. Contoh Soal Latihan • Contoh 5. Tuliskanlah algoritma untuk membaca dua buah besaran bertype Jam yang mewakili awal dan akhir suatu percakapan telepon dan menuliskan durasi waktu dalam detik yang dihitung dari kedua jam yang dibaca. Type jam terdiri dari Jam, Menit, Detik dan dipakai sistem jam dengan Jam 00:00:00 sampai dengan 24:60:60 30
  • 31. 31
  • 32. 32
  • 33. Sampai ketemu di materi berikutnya...  Test Kondisi  33
  • 34. 34