CCH1A4 / Dasar Algoritma & Pemrogramanan

dokumen-dokumen yang mirip
CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

CCH1A4 / Dasar Algoritma & Pemrogramanan

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Kode MK/ Pemrograman Terstruktur 2

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

RENCANA PEMBELAJARAN SEMESTER (RPS)

LATIHAN UTS Tim Pengajar KU1071 Sem

IKG2A3/ Pemrograman Terstruktur 2

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Algoritma Pemrograman

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Pengantar List Linier

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak

ACARA PRAKTIKUM PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

RENCANA PEMBELAJARAN SEMESTER (RPS)

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

RENCANA PEMBELAJARAN SEMESTER (RPS)

Algoritma Pemrograman

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

Algoritma Pemrograman

RENCANA PEMBELAJARAN SEMESTER (RPS)

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

Array. Teknik Informatika Politeknik Negeri Batam

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

MODUL 3 ALGORITMA PEMROGRAMAN

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Soal hari Jumat (16/10) Latihan 10 MS

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Algoritma Pemrograman

Array (Tabel) bagian 2

Algoritma Pemrograman

Algoritma Pemrograman

2 ATURAN PENULISAN TEKS ALGORITMA

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Variasi List Linier

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

Algoritma dan Struktur Data

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

Satuan Acara Perkuliahan

SILABUS : DASAR-DASAR PEMROGRAMAN. : Made Windu Antara Kesiman, S.T., M.Sc NIP : : PENDIDIKAN KIMIA

BAB II STACK (TUMPUKAN)

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Algoritma Pemrograman

Garis-Garis Besar Program Pembelajaran Berbasis Kompetensi

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Bab 2 DASAR-DASAR ALGORITMA

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs.

Algoritma Pemrograman

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM)

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Teori Algoritma TIPE DATA

Perbandinganan Penggunaan Algoritma Greedy dan Modifikasi Algoritma Brute Force pada Permainan Collapse XXL

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

Abstract Data Type (ADT)

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

GARIS GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Representasi Logic List Linier

Perulangan, Percabangan, dan Studi Kasus

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

Algoritma Pemrograman

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

RENCANA PEMBELAJARAN SEMESTER (RPS)

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

TIPE, NAMA, DAN NILAI

Identitas dosen POKOK BAHASAN. Suherman,, ST Address. : Cilegon Mobile : Ym Blog

Pembahasan Kuis. KU1071/Pengantar Teknologi Informasi A Sem /2011

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

FUNGSI DAN PROCEDURE

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

Tipe Data, Nama, Nilai. Chapter 4

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Transkripsi:

CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment

Outline Record Definisi Deklarasi / Notasi Pengaksesan Operator Array of Record Deklarasi Pengaksesan Operator: Fungsi dan Prosedur

Overview Dalam berbagai kasus, sering kita jumpai sebuah data yang memiliki beberapa komponen sekaligus didalamnya. Contoh: Sebuah titik di bidang kartesius memiliki 2 komponen: axis dan ordinat. Nilai Kuliah seorang mahasiswa dalam satu semester(7 MK), setidaknya memuat komponen : Nim, Nilai1, Nilai2, Nilai3, Nilai4, Nilai5, Nilai6, dan Nilai7

Record Definisi Merupakan Tipe Data yang tersusun atas satu atau beberapa field atau tipe lainnya[2]. Biasanya tipe record ini akan didefinisikan sebagai tipe bentukan Notasi Record nama : <Komponen1:tipe, Komponen2:tipe,...,KomponenK:tipe> Notasi Record sebagai tipe bentukan type nama : <Komponen1:tipe, Komponen2:tipe,...,KomponenK:tipe> Contoh 12.1 Mendefinsikan tipe point : titik dibidang kartesius Type Point : < x, y : Real >

Record Pengaksesan Misal A bertipe Point, maka seperti pendefinisian sebelumnya A memiliki 2 komponen yaitu x dan y. Pengaksesan A dilakukan terhadap: A.x dan A.y Contoh 12.2 Beberapa perintah dasar pengaksesan terhadap A Assignment A.x 3.5 A.y 5.0 Input input(a.x,a.y) Output output(a.x,a.y)

Record Pengaksesan Misal A bertipe Point, maka seperti pendefinisian sebelumnya A memiliki 2 komponen yaitu x dan y. Pengaksesan A dilakukan terhadap: A.x dan A.y Contoh 12.2 Beberapa perintah dasar pengaksesan terhadap A Assignment A.x 3.5 A.y 5.0 Input input(a.x,a.y) Output output(a.x,a.y) A.x diisi nilai dengan 3.5 A.y diisi nilai dengan 5 User diminta menginputkan nilai untuk A.x dan A.y Nilai A.x dan A.y ditampilkan dilayar

Record Operator Kalau kita mendefinisikan variabel didalam kamus menggunakan tipetipe dasar, maka secara otomatis kita bisa menggunakan operator yang terkait dengan tipe yang kita gunakan. Bagaimana kalau kita menggunakan tipe bentukan record? Apa saja operator tipe bentukan record?...... Kita harus definisikan sendiri, operator-operator dari tipe bentukan record tersebut dalam bentuk prosedur atau fungsi

Record Contoh 12.3 Definisikan operator-operator yang terkait dengan tipe Point pada contoh 12.2 Jawab Beberapa operator yang bisa kita definisikan antara lain: Procedure setpoint(input/output A: Point,input a1,a2:real) {mengeset nilai absis dan ordinat A, dengan nilai a1 dan a2} Function getabsis(a: Point) real {mengembalikan nilai absis A yaitu A.x} Function getordinat(a: Point) real {mengembalikan nilai ordinat A yaitu A.y} Function Jarak(A,B: Point) real {mengembalikan nilai jarak antara A dan B} Procedure addpoint(input A,B: Point, Output C:Point) { Menjumlahkan 2 point A dan B, hasilnya C}

Record Contoh 12.3 Lanjutan Detail dari prosedur setpoint dan fungsi getabsis Procedure setpoint(input/output A: Point,input a1,a2:real) Kamus lokal Algoritma A.x a1 A.y a2 Function getabsis(a: Point) real Kamus lokal Algoritma A.x

Record Contoh 12.3 Lanjutan Detail dari prosedur addpoint Procedure addpoint(input A,B: Point Output C:Point) Kamus lokal Algoritma C.x A.x + B.x C.y A.y + B.y

Array Of Record Definisi Merupakan tipe data kombinasi antara tipe array dan tipe record Notasi tipe bentukan array of record Kamus type TabelNamaRecord : array[1..1000] of NamaRecord type NamaRecord : <elemen1: type, elemen2:type,..elemenk: type> A : TabelNamaRecord

Array Of Record Contoh 12.4 TabelPoint 1 2 x y 100 : :

Array Of Record Contoh 12.4 TabelPoint 1 2 x y Point Kamus type Point:<x,y: real> type TabelPoint: array[1..100] of Point 100 : :

Array Of Record Contoh 12.4 TabelNilaiMK 1 2 nim uts uas kui s tot al 100 : :

Array Of Record Contoh 12.4 TabelNilaiMK 1 2 100 nim Uts uas kuis Total : : Kamus NilaiMK type NilaiMK: <nim:string,uts,uas,kuis,total: real> type TabelNilaiMK: array[1..100] of NilaiMK

Array Of Record Contoh 12.5 Definisikan operator-operator yang terkait dengan tipe TabelNilaiMK pada contoh 12.4 Jawab Beberapa operator yang bisa kita definisikan antara lain: Procedure createempty(output A:TabelNilaiMK) {membuat TabelNilaiMK yang masih kosong, cirinya: nim= } Function searchemptyrow(input A:TabelNilaiMK) integer {mencari baris yang masih kosong ( nim= ), yang pertama dijumpai, jika tidak ada yang kosong mengembalikan -1} Function isfull(input A:TabelNilaiMK) boolean {mengembalikan nilai true jika seluruh baris sudah penuh} Procedure InsertNilaiMK(I/O A:TabelNilaiMK input b:nilaimk) {Menambahkan 1 baris b ke TabelNilaiMK A} Function searchnim(input A:TabelNilaiMK nim1:string) integer {mengembalikan nomor baris dimana nim yang dicari berada, -1 jika nim tidak ada }

Array Of Record Contoh 12.5 (Lanjutan) Procedure updateuts(input A:TabelNilaiMK,nim1:string,uts1:real) {mengupdate nilai uts dengan uts1 berdasarkan nim1 } Procedure updateuas(input A:TabelNilaiMK,nim1:string,uas1:real) {mengupdate nilai uas dengan uas1 berdasarkan nim1 } Procedure updatekuis(input A:TabelNilaiMK,nim1:string,kuis1:real) {mengupdate nilai kuis dengan kuis1 berdasarkan nim1 } Procedure update(input A:TabelNilaiMK,nim1:string,uts1,uas1,kuis1:real) {mengupdate semua nilai berdasarkan nim1 } Procedure deleterow(input A:TabelNilaiMK,nim1:string) { menghapus sebuah baris yang memiliki nim1} Procedure selectall(input A:TabelNilaiMK) {menampilkan semua informasi TabelNilaiMK } Procedure selectnim(input A:TabelNilaiMK,nim1:string ) {menampilkan baris tertentu yang nimnya=nim1 }

Array Of Record Contoh 12.6 Detail dari prosedur CreateEmpty Procedure createempty(output A:TabelNilaiMK) {membuat TabelNilaiMK yang masih kosong, cirinya: nim= } Kamus lokal i:integer Algoritma for i 1 to 100 do A[i].Nim

Array Of Record Contoh 12.7 Detail dari fungsi searchemptyrow Function searchemptyrow(input A:TabelNilaiMK) integer {mencari baris kosong ( nim= ), dikembalikan -1 jika penuh } Kamus lokal i:integer Algoritma i 1 while (i<100) and (A[i].nim<> ) do i i+1 {i=100 or A[i].nim= } if A[i].nim= then i; else -1

Array Of Record Contoh 12.8 Detail dari fungsi isfull Function isfull(input A:TabelNilaiMK) boolean {mengembalikan nilai true jika seluruh baris sudah penuh} Kamus lokal Algoritma searchemptyrow(a)= -1

Array Of Record Contoh 12.9 Detail dari prosedur InsertNilaiMK Procedure InsertNilaiMK(I/O A:TabelNilaiMK input b:nilaimk) {Menambahkan 1 baris b ke TabelNilaiMK A} Kamus lokal i : integer Algoritma If isfull(a) Then output(insert failed) Else i searchemptyrow[a] A[i] b {assignment bisa juga lebih detail pada setiap elemen A[i]}

Array Of Record Contoh 12.10 Detail dari fungsi searchnim Function searchnim(input A:TabelNilaiMK nim1:string) integer {mengembalikan nomor baris dimana nim yang dicari berada, -1 jika nim tidak ada } Kamus lokal i:integer Algoritma i 1 while (i<100) and (A[i].nim<>nim1) do i i+1 {i=100 or A[i].nim=nim1} if A[i].nim=nim1 then i else -1

Latihan Record Buat type MhsPT1 yang mempunyai komponen/ field/ atribut/ kolom: Nama, NIM, Kuis1, UTS, Kuis2, UAS, NilaiAkhir, NilaiMutu Nama bertipe string, NIM bertipe integer, semua nilai bertipe real, kecuali NilaiMutu bertipe string Buatlah tipe MhsPT1 tersebut. Buatlah operasi SetNilai, yaitu mengisikan nilai pada kolom Kuis1, UTS, Kuis2, UAS Buatlah operasi HitungNilaiAkhir, yaitu NilaiAkhir adalah penjumlahan dengan bobot Kuis1: 10%, UTS: 30%, Kuis2: 20%, dan UAS: 40% Buatlah operasi HitungNilaiMutu, yaitu berdasarkan NilaiAkhir dengan ketentuan: NilaiAKhir >= 85 NilaiMutu = A,,75<=NilaiAkhir < 85 NilaiMutu= AB, 65 <= NilaiAkhir<75 berarti NilaiMutu = B, 55 <= NilaiAKhir < 65 berarti NilaiMutu = BC, 45 <= NilaiAkhir < 55 NilaiMutu = C, 30 <= NilaiAKhir < 45 NilaiMutu = D, 30< NilaiAkhir NilaiMutu = E

Jawab Latihan Record Deklarasi Type Kamus {global} Type MhsPT1 < Nama : string, NIM : string, Kuis1 : real, UTS : real, Kuis2 : real, UAS : real, NilaiAkhir : real, NilaiMutu : string > Type TabMhs : array [1..100] of MhsPT1 A : TabMhs {variabel kerja}

Jawab Latihan Record SetNilai Procedure SetNilai(input/ ouput A: TabMhs) {I.S : semua atribut belum F.S : atribut NIM, Nama, Kuis1, UTS, Kuis2 dan UAS terisi dengan command input } kamus i : integer {indeks} Algoritma for i 1 to 100 do input(a[i].nama, A[i].NIM, A[i].Kuis1, A[i].UTS, A[i].Kuis2, A[i].UAS)

Jawab Latihan Record HitungNilaiAkhir Procedure HitungNilaiAkhir(input/ output A: TabMhs) {I.S : semua atribut sudah diisi, kecuali atribut NilaiAkhir F.S : atribut NilaiAkhir diisi dengan rumus Kuis1: 10%, UTS: 30%, Kuis2: 20%, dan UAS: 40% } kamus i : integer {indeks} Algoritma for i 1 to 100 do A[i].NilaiAKhir A[i].Kuis1*0.1 + A[i].UTS*0.3 + A[i].Kuis2*0,2 + A[i].UAS*0,4

Jawab Latihan Record HitungNilaiMutu Procedure HitungNilaiMutu(input/ output A: TabMhs) {I.S : semua atribut sudah diisi, kecuali atribut NilaiMutu F.S : atribut NilaiMutu diisi dengan rumus A jika NilaiAKhir >= 85, dst} kamus i : integer {indeks} Algoritma for i 1 to 100 do depend on (A[i].NilaiAkhir) A[i].NilaiAKhir >= 85 : A[i].NilaiMutu A A[i].NilaiAKhir >= 75 : A[i].NilaiMutu AB A[i].NilaiAKhir >= 65 : A[i].NilaiMutu B A[i].NilaiAKhir >= 55 : A[i].NilaiMutu BC A[i].NilaiAKhir >= 45 : A[i].NilaiMutu C A[i].NilaiAKhir >= 30 : A[i].NilaiMutu D else A[i].NilaiMutu E

Pustaka Inggriani Liem, Diktat Kuliah IF223 Algoritma Dan Pemrograman, Jurusan Teknik Informatika Bandung, 1999 Rinaldi Munir, Algoritma dan Pemrograman dalam bahasa Pascal dan C, edisi ke-3, penerbit Informatika 2004

THANK YOU