materi 4. type, nama & harga
DESCRIPTION
TRANSCRIPT
TYPE, NAMA & HARGA
Algoritma Pemrograman
Drs. Lamhot Sitorus, M.KomFakultas 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.
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
4
TYPE DATA DASAR
• Dilihat dari sisi algoritma, yang termasuk type data dasar adalah :– Bilangan Logika– Bilangan Bulat– Bilangan Riil– Karakter
5
Bilangan Logika
• Nama : Boolean• Domain : [true, false]• Konstanta : true false• Operator : AND, OR, XOR, NOT
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.
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.
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
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.
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.
11
NAMAKAMUS
{Nama Variabel}Nmax : integerFound : BooleanP : PointCC : Character
{Nama Konstanta}Constant Phi : Real =3.14Constant Ka : Character = ‘K’Constant Faktor : Integer = 3Constant Ketemu : Boolean = true
{Nama Fungsi}Function Faktorial (n : Integer) : Integer
{Nama ProsedureProcedure InisialisasiProcedure Tukar(Input/Output : A,B : Real)
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.
• Type ekspresi seuai dengan type hasil yang terdiri dari ekspresi logika, ekspresi aritmatika dan ekspresi string.
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 (<, >, , , =, ).
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.
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).
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
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
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.
19
Notasi algoritmik untuk pemberian harga (assignment)
ALGORITMANama Nama1Nama KonstantaNama ekspresi
Dengan syarat : Bagian kiri dan bagian kanan tanda bertype samaNama harus berupa Nama VariabelNama1 boleh berupa nama variabel, nama konstanta atau nama
fungsi
20
Notasi algoritmik pemberian harga dari piranti masukan
ALGORITMAINPUT(List_Name)
Dengan syarat : List_Name adalah satu atau lebih nama variabel dan harus nama variabel
21
Notasi algoritmik untuk penulisan harga ke piranti
ALGORITMAOUTPUT (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 FungsiNama yang dituliskan sudah terdefinisisebelumnya
22
Contoh Soal Latihan
• Contoh 1. Tuliskan algoritma untuk menulis kata ‘Hello’ ke piranti keluaran yang disediakan.
23
24
Contoh Soal Latihan
• Contoh 2. Tuliskan algoritma untuk menulis kata ‘Hello’ yang diikuti dengan nama seseorang yang masukkan dari piranti masukan.
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.
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.
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
31
32
33
Sampai ketemu di materi berikutnya...
Test Kondisi
34