KUG1A3 Algoritma& Pemrograman

Slides:



Advertisements
Presentasi serupa
TIPE data Tipe data yang dikenal dalam bahasa pascal antara lain :
Advertisements

Matakuliah : Algoritma & Struktur Data Versi Materi
20/1/'07Pengantar1 Notasi Algoritmik. 20/1/'07Pengantar2 Teks Algoritma Terdiri atas tiga bagian Judul Kamus / deklarasi Algoritma.
VARIABEL DAN OPERATOR.
Chapter 3.2 : Tipe, Nama dan Nilai
Notasi Algoritma.
Logika & Algoritma -- Pertemuan II: Variabel dan Operator Logika & Algoritma --
BASIC DATA TYPES, VARIABLES & OPERATORS
STRUKTUR DATA (1).
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
SEMESTER GANJIL 2009/2010.
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Tipe Bentukan Tipe yang didefinisikan sendiri oleh pemrogram (user defined type data) Dua jenis tipe bentukan : Tipe dasar yang diberi nama tipe baru Tipe.
KUG1C3 Dasar Algoritma & Pemrograman
Algoritma Dan Pemrograman
Pengenalan Type Data Type data dapat dikelompokkan menjadi 2
Prodi S1-Sistem Komputer, F Teknik Elektro
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
JENIS-JENIS DATA Pertemuan 2.
ALGORITMA PEMROGRAMAN 2A
Prodi S1-Sistem Komputer, F Teknik Elektro
Notasi Algoritma & Tipe Data
ALGORITMA DAN PEMROGRAMAN Tipe Data
Tipe Data By Serdiwansyah N. A..
KUG1C3 Dasar Algoritma & Pemrograman
Implementasi Algortima
PERTEMUAN 2 Bambang Irawan.
STRUKTUR DATA PERTEMUAN 1
Tipe, Nama, dan Nilai Anifuddin azis.
Algoritma dan Pemrograman 2A
BAB 2 Elemen Dasar.
ALGORITMA PEMROGRAMAN 2A
KUG1A3 Algoritma& Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
Implementasi Algortima
Dasar Pemrograman (DasPro) Teknik Informatika S-1 UDINUS
TEL 2112 Dasar Komputer & Pemograman Konsep Tipe Data dan Operator
Konsep Tipe Data dan Operator
Struktur Data Tipe data & Struktur Data
Algoritma & Pemrograman 1
TEE 2103 Algoritma dan Pemrograman
Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer
Tipe, Nama, dan Nilai.
Pseudocode – Tipe Data, Variabel, dan Operator
Algoritma dan Pemrograman
Algoritma dan Pemrograman (Pertemuan 03)
Pengenalan Type Data Type data dapat dikelompokkan menjadi 2
Tipe Data, Operator dan Ekspresi
Dasar- dasar Algoritma
ALGORITMA DAN PEMROGRAMAN Tipe Data
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
ALGORITMA DAN PEMROGRAMAN Tipe Data
TEE 2103 Algoritma & Pemrograman
Tipe Data, Nama dan Nilai
TIPE DATA.
Algoritma & Pemrograman 1
Algoritma dan Pemrograman (Pertemuan 04)
Konsep Tipe Data dan Operator
ALGORITMA DAN PEMROGAMAN
Review Algoritma 1 Teks Algoritma terdiri dari tiga bagian :
STRUKTUR DATA.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
Pertemuan 3 DR. Okfalisa, MsC Tipe, Nama dan Nilai.
Chapter 3.2 : Tipe, Nama dan Nilai
Algoritma 1 Temu 2.
Tipe Data & Notasi Algoritmik
Notasi Algoritmik, Tipe Dasar, Nilai, Ekspresi dan Input/Output
Dasar Pemrograman Percabangan Nurul Anisa Sri Winarsih, M. CS
Dasar Pemrograman Aksi Sekuensial Nurul Anisa Sri Winarsih, M. CS
Transcript presentasi:

KUG1A3 Algoritma& Pemrograman Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Presentasi 3 Tipe Baru, Enumerasi dan Bentukan

MENDEFINISIKAN TYPE BARU  Menentukan nama tipe ( pada Kamus )  Menentukan definisi domain harga  Menentukan aturan penulisan konstanta  Menentukan operator Type NamaOrang : string { Domain NamaOrang = domain string } Type tidak menentukan alokasi memori di komputer, tetapi hanya mendefinisikan pola struktur informasi. Constant Org1 : NamaOrang = ‘Budi’ { Operator unt NamaOrang = operator string } Nama : NamaOrang { deklarasi variabel} 2

TYPE BARU dalam Pascal Urutan dalam deklarasi : Menentukan nama type Menentukan konstanta dengan tipe tersebut Menentukan variabel dengan tipe tersebut Type NamaOrang : string; Const Org1 : namaorang =‘Budi’; Var nama : namaorang; Type tidak menentukan alokasi memori di komputer, tetapi hanya mendefinisikan pola struktur informasi. 3

Tipe Enumerasi Tipe yang domainnya dibuat dengan urutan tertentu Contoh : integer dan karakter Bisa juga dibentuk sendiri Contoh : Type hari = ( senin, selasa, rabu, kamis) Deklarasi variabelnya day : hari { day adalah variabel bertipe hari } Pengisian nilai day  kamis

Tipe Enumerasi (lanj) Ada beberapa fungsi pada tipe ini First() : elemen pertama Last() : elemen terakhir Succ() : elemen berikutnya Pred() : elemen sebelumnya Contoh First(day) Last(day) Succ(senin) Pred(kamis) { hasilnya : senin } { hasilnya : kamis } { hasilnya : selasa } { hasilnya : rabu }

Tipe enumerasi dalam Pascal Deklarasi dengan : Type hari = (senin, selasa, rabu, kamis ); var day : hari; Tipe enumerasi yang dideklasikan pada program TIDAK DAPAT dilakukan pembacaan atau penulisan variabel. readln(day); { error} write(day); { error } writeln(‘Setelah rabu=’,succ(rabu)); {error}

Tipe Bentukan Type nama_type : < elemen_1 : type_1, Pascal : sama dengan tipe record Tipe yang terdiri dari beberapa komponen Type nama_type : < elemen_1 : type_1, elemen_2 : type_2, elemen_3 : type_3, ……………………> Deklarasi variabel: bentuk1 : nama_type

Tipe Bentukan ( lanj) Contoh : Type lahir : < tempat : string, tanggal : integer, bulan : integer, tahun : integer > Deklarasi variabelnya ultah : lahir  Yang bisa diakses/diolah adalah nama variabelnya !

Tipe Bentukan ( lanj) Cara mengakses / mengolah : ultah. tempat  ‘Solo’ ultah.tanggal  19 ultah.bulan  2 ultah.tahun  1990 umur  2009 - ultah.tahun output (‘Jika lahir pada’,ultah.tahun, ‘maka umumnya kira –kira ‘, umur, ‘tahun’)

Tipe Bentukan ( lanj) Contoh : Type jam : < hh : integer [0..23], mm : integer [0..59], ss : integer[0..59]> Deklarasi variabelnya hour : jam Konstanta : Constant jam1 : jam = <10,10,10>

Tipe bentukan dalam Pascal Type jam = record hh : integer; mm : integer; ss : integer ; end; Deklarasi variabelnya var hour : jam; Mengakses variabel : hour.hh := 10; writeln( ‘menit =‘, hour.mm);

Contoh : JAM MENIT DETIK Pernyataan : Dibaca sebuah harga berupa bilangan bulat, positif dan lebih kecil dari 1 juta, yang mewakili besaran dalam detik. Harus dihitung ekivalensinya, berapa hari, jam berapa menit dan berapa detik. Contoh : data 309639 akan menghasilkan 3, 14, 0, 39, yang artinya 3 hari, 14 jam, 0 menit dan 9 detik

Contoh : JAMMENITDETIK ( lanj) Spesifikasi: Input : n (detik), integer Proses : menghitung hari, jam, menit, detik Output : HARI, JAM, MENIT, DETIK Analisis : nama-nama variabel n : bilangan yang dibaca, integer 0 sampai 999999 H : HARI, bilangan bulat positif, HARI J : JAM, bilangan bulat positif antara 0 - 23 M : MENIT, bilangan bulat antara 0 -59 D : DETIK, bilangan bulat antara 0 - 59 Rumus : 1 hari = 86400 detik; 1 jam = 3600 detik dan 1 menit = 60 detik. 1 hari = hasil bagi n dengan 86400 1 jam = sisa hasil bagi dibagi dengan 3600 dst.

Catatan : Ini adalah contoh program dengan asersi yang lengkap, yang merupakan pembuktian kebenaran program. Namun setiap baris mengandung asersi. Untuk selanjutnya, asersi dituliskan “secukupnya”, dan pelajaran mengenai asersi yang lengkap akan dicakup pada matakuliah Analisa algoritma. Program tersebut adalah pola solusi untuk “menguraikan” sebuah besaran (detik) menjadi besaran lain (hari, jam, menit, detik) berdasarkan rumus konversi besaran. Pemilihan nama informasi pada program tersebut kurang mengandung artinya, maka disertakan definisi nama singkat sebagai komentar. Jika pemilihan nama sudah interpretatif, tidak perlu lagi deskripsi nama seperti pada contoh.

Contoh : PERKALIAN PECAHAN Pernyataan: Tuliskanlah algoritma untuk membaca dua buah besaran bertype pecahan, dan menuliskan hasil kali kedua pecahan tersebut. Pecahan harus direpresentasi sebagai dua buah bilangan integer yang menyatakan pembilang dan penyebut. Penyebut selalu tidak pernah sama dengan nol. Pecahan negatif ditandai dengan pembilang berupa integer negatif

Pecahan <1,2> merepresentasi 1/2 Contoh : Pecahan <1,2> merepresentasi 1/2 Pecahan <-4,2> merepresentasi -4/2 Pecahan <1,1> merepresentasi 1/1 Pecahan <0,2> merepresentasi 0/2 Pecahan <1,0> BUKAN PECAHAN! Perlu deklarasi tipe bentukan ! Pembuatan Algoritma Tipe pecahan : pembilang dan penyebut Dalam notasi algoritma : Type pecahan : < pembilang : integer, penyebut : inetger >

Pembuatan Algoritma (lanj) Perkalian pecahan : Pembilang bilangan1 x pembilang bilangan2 Penyebut bilangan1 x penyebut bilangan2 Dalam notasi algoritma : a. Deklarasikan P1,P2,P3 : variabel bertipe pecahan. b. P3.pembilang P1.pembilang*P2.pembilang P3.penyebutP1.pembilang*P2.penyebut c. Sebelum perkalian, nilai kedua pecahan harus diketahui. Bisa melalui pembacaan. d. Outputkan hasil perkalian

Algoritma : Pecahan Program KaliPecahan { menghitung perkalian 2 pecahan} { input 2 bil pecahan, output : hasil kali } Kamus Type pecahan : < pembilang : integer, penyebut : integer > P1,P2,P3 : pecahan { deklarasi var bertipe pecahan } Algoritma input ( P1,P2) P3.Pembilang  P1.pembilang * P2.pembilang P3.Penyebut  P1.penyebut * P2. penyebut output (P3) Jadi jika dituliskan sebuah sequence yang terdiri dari deretan instruksi/aksi ke 1,2,3,4,.........n maka setiap instruksi/aksi akan dilaksanakan secara berurutan mulai dari yang ke 1, kemudian k-2, ke-3,.... s/d ke-n. Final state dari sebuah instruksi/aksi yang ada pada urutan instruksi/aksi ke-i akan menjadi Initial state dari instruksi/aksi ke-i+1. Dengan kata lain, urut-urutan penulisan instruksi/aksi pada suatu sequence sangat penting.

Pecahan ( dalam Pascal ) Program KaliPecahan; { menghitung perkalian 2 pecahan} { input 2 bil pecahan, output : hasil kali } Type pecahan = record pembilang : integer; penyebut : integer ; End; Var P1,P2,P3 : pecahan ;

Pecahan ( dalam Pascal ) Begin Writeln('Pembilang dan penyebut pecahan pertama'); Readln(P1.pembilang,P1.penyebut); Writeln('Pembilang dan penyebut pecahan kedua'); Readln(P2.pembilang,P2.penyebut); P3.pembilang:=P1.pembilang*P2.pembilang; P3.penyebut:=P1.penyebut*P2.penyebut; Writeln('Hasil kalinya adalah', P3.pembilang,'/',P3.penyebut); End. { Kalau ditulis P3:=P1*P2; akan error }

Lagu Tipe Pascal Tipe obyek banyak macamnya Integer tuk bilangan bulat Pecahan namanya real Karakter tunggal pakai char Ada lagi tipe logika Dia bernama boolean Kalau kumpulan karakter Nama tipenya adalah string Jangan sampai salah menuliskan tipe obyeknya Jangan sampai salah, kalau salah program tak jalan Jangan sampai salah menuliskan operatornya Jangan sampai salah, kalau salah program kan error

Lagu Tipe (lanj) Ada juga obyek terurut Namanya enumerasi Dia tidak pakai kutip Karna bukan termasuk string Obyek majemuk di program Pascal Tulis nama dan sama dengan Ikuti dengan kata record Lalu komponen dan tipenya Ingat tipe record jangan lupa akhiri end Ingat tipe record dekla-rasikan variabelnya Pakai tipe record, pakai nama variabelnya Tambah sebuah titik diikuti komponennya

Latihan 1: Kalkulasi Type Terstruktur Jam Pernyataan: Tuliskanlah algoritma untuk membaca dua buah besaran bertepe Jam yang mewakili awal dan akhir suatu percakapan telpon dan menuliskan durasi waktu dalam detik yang dihitung dari kedua jam yang dibaca. Type Jam terdiri dari Jam, menit dan detik dan dipakai sistem jam dengan jam 00:00:00 sampai dengan 23:59:59

Latihan soal 2. Jika type jam diubah sehingga aturan penulisannya bukan lagi dalam domain 00:00:00 sampai dengan 23:59:59 melainkan menjadi dari 00:00:00 am sampai dengan 11:59:59 pm, apa yang harus dilakukan dengan program DURASI ? 3. Tuliskanlah minimal 20 rumus dalam bidang fisika dan matematika yang dapat diprogram dengan program JARAK sebagai “pola” program. 4. Dibaca 5 buah bilangan bulat A1, A2, A3, A4 dan A5, harus dihitung jumlahnya dan dituliskan hasilnya. Bagaimana jika yang dibaca adalah 1000 buah bilangan ?

Reference: Liem, Inggriani. Diktat kuliah IF223 Algoritma & Pemrograman. Jurusan Teknik Informatika. ITB. 1999