Algoritma Pemrograman

dokumen-dokumen yang mirip
Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

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

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

Algoritma Pemrograman

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

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search}

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

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

1 Pencarian. 1.1 Tinjauan Singkat Larik

Algoritma Pemrograman

Pertemuan Ke-5 Penyeleksian Kondisi. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Pertemuan 3 Penyeleksian Kondisi

Algoritma Pemrograman

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Array. Teknik Informatika Politeknik Negeri Batam

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

Algoritma Pemrograman

PERSEGI ANGKA-HURUF VERTIKAL

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

Algoritma Pemrograman

Kontrak Kuliah TKC106 - Algoritma Pemrograman Semester Gasal 2009/2010

Algoritma Pemrograman

Daftar field MODUL 13 RECORD

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

Algoritma Pemrograman

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

Kontrak Kuliah TKC106 - Algoritma Pemrograman Semester Gasal 2011/2012

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Algoritma Pemrograman

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

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan 3 Prosedur dan Fungsi

Pertemuan 2 Operasi String

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Teori Algoritma. Struktur Algoritma

Pertemuan 4 Perulangan

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom.

CCH1A4 / Dasar Algoritma & Pemrogramanan

Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13

Algoritma Pemrograman

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

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

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

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

BAB III QUEUE (ANTRIAN)

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

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

Searching [pencarian] Algoritma Pemrograman

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

1. Tipe Data Sederhana Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel Ada 5 macam : int, float, double, char, boolen

BAB IV MATRIKS (ARRAY MULTI DIMENSI)

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

MODUL IV PENCARIAN DAN PENGURUTAN

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-3 - Hal 1

Pertemuan 2 Operasi String

ARRAY. Larik / array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama.

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

RENCANA PEMBELAJARAN SEMESTER PROGRAM STUDI AKUNTANSI KOMPUTER PROGRAM D3 BISNIS & KEWIRAUSAHAAN UNIVERSITAS GUNADARMA

Tipe Data. Definisi Tipe Data

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Pemrograman. Pertemuan Ke-12 Tipe data array/larik 1

Algoritma HitungGajiKaryawan Deklarasi NIK,Nama,Jabatan : String Gaji, Tunj, Pajak, Gaber : Real

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Program Studi Teknik Mesin S1

Dasar Komputer & Pemrograman 2A

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Pertemuan Ke-1 (Pengantar Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

Transkripsi:

Algoritma Pemrograman Pertemuan Ke-12 (Record) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1

Sub Pokok Bahasan Pendahuluan Pendefinisian Record Menggunakan Tipe Data Record Tipe Data Record dengan Field Tipe Record (Record Terstruktur) S1 Teknik Informatika-Unijoyo 2

Pendahuluan Pada pembahsan-pembahasan sebelumnya, contoh-contoh algoritma yang dibahas adalah menggunakan larik dengan elemen-elemen bertipe sederhana. Elemen larik juga dapat bertipe terstruktur, atau biasa disebut sebagai record S1 Teknik Informatika-Unijoyo 3

Pendefinisian Record Dengan menggunakan tipe data record, beberapa item data yang masing-masing dapat mempunyai tipe data berbeda-beda dapat dikumpulkan. Masing-masing item data disebut dengan field. Jadi record terdiri dari kumpulan field yang dapat berbeda tipe. Biasanya suatu record berisi beberapa field untuk sebuah subyek tertentu DEKLARASI type Hasil : record<jarijari : real, Keliling : real, Luas : real > Lingkaran : Hasil type Hasil = record JariJari : real; Keliling : real; Luas : real; var Lingkaran : Hasil; S1 Teknik Informatika-Unijoyo 4

Menggunakan Tipe Data Record Misalnya record TabMhs adalah sebuah larik yang elemennya menyatakan nilai ujian mata kuliah (MK) yang diambil seorang mahasiswa. Data (field) setiap mahasiswa adalah NIM (Nomor Induk Mahasiswa), nama mahasiswa, mata kuliah yang diambil, dan nilai mata kuliah tersebut. S1 Teknik Informatika-Unijoyo 5

Solusi Algoritma dan PASCAL: DEKLARASI const Nmaks = 100 type Mahasiswa : record<nim : integer, NamaMhs : string, KodeMK : string, Nilai : char > TabMhs: array[1..nmaks] of Mahasiswa k : integer {pencatat indeks larik} N : integer DESKRIPSI: read(n) for k 1 to N do read(tabmhs[k].nim) read(tabmhs[k].namamhs) read(tabmhs[k].kodemk) read(tabmhs[k].nilai) endfor const Nmaks = 100; type Mahasiswa = record NIM : integer; NamaMhs : string[20]; KodeMK : string[10]; Nilai : char; var TabMhs : array[1..nmaks] of Mahasiswa; k, N : integer; write( Masukkan jumlah data? );readln(n); for k := 1 to N do writeln( Data ke-,k, : ); write( Masukkan NIM?: ); readln(tabmhs[k].nim); write( Masukkan NAMA?: ); readln(tabmhs[k].namamhs); write( Masukkan KODE?: ); readln(tabmhs[k].kodemk); write( Masukkan NILAI?: ); readln(tabmhs[k].nilai); end. S1 Teknik Informatika-Unijoyo 6

Contoh kasus: Mengurutkan data berdasarkan nomor mahasiswa (NIM) dengan urutan dari yang terkecil ke yang terbesar dan kemudian menampilkannya pada tabel seperti di bawah ini: S1 Teknik Informatika-Unijoyo 7

Solusi Algoritma [bagian 1/3]: Algoritma URUT_NIM DEKLARASI ( * Program Utama *) const Nmaks = 100 type Mahasiswa : record<nim : integer, Nama : string, Kode : string, Nilai: char > TabMhs : array[1..nmaks] of Mahasiswa Bantuan : Mahasiswa I, J, N : integer procedure BacaData { Membaca data record TabMhs } DEKLARASI (* Prosedur BacaData *) { Tidak ada } DESKRIPSI: (* Prosedur BacaData *) for I 1 to N do write( Nomor Mahasiwa ke-,i,? ) read(tabmhs[i].nim) write( Nama Mahasiwa ke-,i,? ) read(tabmhs[i].nama) write( Kode Mata Kuliah ke-,i,? ) read(tabmhs[i].kode) write( Nilai Mahasiwa ke-,i,? ) read(tabmhs[i].nilai) endfor S1 Teknik Informatika-Unijoyo 8

Solusi Algoritma [bagian 2/3]: procedure urut { Mengurutkan isi record TabMhs berdasarkan NIM } DEKLARASI (* Prosedur urut *) { Tidak ada } DESKRIPSI: (* Prosedur urut *) for I 1 to N-1 do for J 1 to N-1 do if TabMhs[J].NIM > TabMhs[J+1].NIM then Bantuan := TabMhs[J]; TabMhs[J]:= TabMhs[J+1]; TabMhs[J+1]:= Bantuan; endif endfor endfor procedure tampil {Menampilkan isi record TabMhs yg telah diurutkan berdasarkan NIM dlm bentuk tabel } DEKLARASI (* Prosedur tampil *) { Tidak ada } DESKRIPSI: (* Prosedur tampil *) write('-----------------------------------------------') write(' Nomor Nama Kode Nilai ') write('-----------------------------------------------') for I 1 to N do with TabMhs[I] do write(nim,nama,kode,nilai); endfor write('----------------------------------------------'); S1 Teknik Informatika-Unijoyo 9

Solusi Algoritma [bagian 3/3]: DESKRIPSI: (* Program Utama *) write( Jumlah Mahasiswa? ) read(n) bacadata urut tampil S1 Teknik Informatika-Unijoyo 10

Solusi Pascal [bagian 1/3]: Program URUT_NIM; const Nmaks = 100; type Mahasiswa = record NIM : integer; Nama : string[20]; Kode : string[10]; Nilai: char; var TabMhs : array[1..nmaks] of Mahasiswa; Bantuan : Mahasiswa; I, J, N : integer; procedure BacaData; for I := 1 to N do writeln; write( Nomor Mahasiwa ke-,i,? );readln(tabmhs[i].nim); write( Nama Mahasiwa ke-,i,? );readln(tabmhs[i].nama); write( Kode Mata Kuliah ke-,i,? );readln(tabmhs[i].kode); write( Nilai Mahasiwa ke-,i,? );readln(tabmhs[i].nilai); S1 Teknik Informatika-Unijoyo 11

Solusi Pascal [bagian 2/3]: procedure urut; for I := 1 to N-1 do for J := 1 to N-1 do if TabMhs[J].NIM > TabMhs[J+1].NIM then Bantuan := TabMhs[J]; TabMhs[J]:= TabMhs[J+1]; TabMhs[J+1]:= Bantuan; procedure tampil; writeln; writeln('------------------------------------------------'); writeln(' Nomor Nama Kode Nilai '); writeln('------------------------------------------------'); for I := 1 to N do writeln(tabmhs[i].nim:10,tabmhs[i].nama:20,tabmhs[i].kode:10,tabmhs[i].nilai:5); writeln('------------------------------------------------'); S1 Teknik Informatika-Unijoyo 12

Solusi Pascal [bagian 3/3]: (* PROGRAM UTAMA *) write( Jumlah Mahasiswa? ); readln(n); writeln; bacadata; clrscr; urut; tampil; end. S1 Teknik Informatika-Unijoyo 13

Hasil Keluaran: Jumlah Mahasiswa? 3 Nomor Mahasiwa ke-1? 0604100044 Nama Mahasiwa ke-1? Adi Darmaji Kode Mata Kuliah ke-1? FTC104 Nilai Mahasiwa ke-1? B Nomor Mahasiwa ke-2? 0604100011 Nama Mahasiwa ke-2? Elisa Hadi Kode Mata Kuliah ke-2? FTC111 Nilai Mahasiwa ke-2? A Nomor Mahasiwa ke-1? 0604100020 Nama Mahasiwa ke-1? Aditya Kode Mata Kuliah ke-1? FTC115 Nilai Mahasiwa ke-1? C ------------------------------------------------ Nomor Nama Kode Nilai ------------------------------------------------ 0604100011 Elisa Hadi FTC111 A 0604100020 Aditya FTC115 C 0604100044 Adi Darmaji FTC104 B ------------------------------------------------ S1 Teknik Informatika-Unijoyo 14

Tipe Data Record dengan Field Tipe Record (Record Terstruktur) Tipe data record juga dapat memiliki field berupa tipe data record yang lainnya. Misalnya item-item data pada data nilai-nilai mata kuliah yang diambil setiap mahasiswa pada suatu semester. Data yang disimpan di dalam record adalah sbb: 1. NIM (Nomor Induk Mahasiswa) 2. NamaMhs (nama mahasiswa) 3. Mata Kuliah (MK) yang diambil mahasiswa tersebut, berupa record: Kode mata kuliah ke-1 Nama mata kuliah ke-1 Nilai mata kuliah ke-1 Kode mata kuliah ke-2 Nama mata kuliah ke-2 Nilai mata kuliah ke-2 Kode mata kuliah ke-n Nama mata kuliah ke-n Nilai mata kuliah ke-n S1 Teknik Informatika-Unijoyo 15

Solusi Algoritma dan PASCAL: DEKLARASI const Nmaks = 100 const Mn = 10 type MataKuliah : record<kodemk : string, NamaMK : string, Nilai : char > type Mahasiswa : record<nim : integer, Nama : string, MK : array[1..mn] of MataKuliah > TabMhs : array[1..nmaks] of Mahasiswa const Nmaks = 100; Mn = 10; type MataKuliah = record KodeMK : string[8]; NamaMK : string[20]; Nilai: char; Mahasiswa = record NIM : integer; Nama : string[20]; MK : array[1..mn] of MataKuliah; var TabMhs: array[1..nmaks] of Mahasiswa; Cara mengakses elemen TabMhs : TabMhs[N] { elemen ke-n dari TabMhs } TabMhs[N].NIM { mengacu field NIM dari elemen ke-n dari TabMhs } TabMhs[N].MK[M].KodeMK { mengacu field KodeMK ke-m dari elemen ke-n dari TabMhs } S1 Teknik Informatika-Unijoyo 16

Solusi Algoritma untuk mengisi TabMhs: Algoritma RECORD_DATA_MAHASISWA { Mengisi elemen record mahasiswa } DEKLARASI const Nmaks = 10 const Mn = 10 type MataKuliah : record<kodemk : string, NamaMK : string, Nilai : char> type Mahasiswa : record<nim : integer, Nama : string, MK : array[1..mn] of MataKuliah> LarikMhs : array[1..nmaks] of Mahasiswa I, J, M, N : integer DESKRIPSI: write( Masukkan Jumlah Data Mahasiswa? ) read(n) for I 1 to N do write( Nomor Mahasiswa ke-,i,? ) read(tabmhs[i].nim) write( Nama Mahasiswa ke-,i,? ) read(tabmhs[i].nama) write( Masukkan Jumlah Data Mata Kuliah? ) read(m) for J 1 to M do write( Kode Mata Kuliah ke-,j,? ) read(tabmhs[i].mk[j].kodemk) write( Nama Mata Kuliah ke-,j,? ) read(tabmhs[i].mk[j].namamk) write( Nilai Mata Kuliah ke-,j,? ) read(tabmhs[i].mk[j].nilai) endfor endfor S1 Teknik Informatika-Unijoyo 17

Solusi PASCAL untuk mengisi TabMhs: Program RECORD_DATA_MAHASISWA; const Nmaks = 100; Mn = 10; type MataKuliah = record KodeMK : string[8]; NamaMK : string[20]; Nilai: char; Mahasiswa = record NIM : integer; Nama : string[20]; MK : array[1..mn] of MataKuliah; var TabMhs : array[1..nmaks] of Mahasiswa; I, J, M, N : integer; write( Masukkan Jumlah Data Mahasiswa? );readln(n); for I := 1 to N do write( Nomor Mahasiswa ke-,i,? ); readln(tabmhs[i].nim); write( Nama Mahasiswa ke-,i,? ); readln(tabmhs[i].nama); write( Masukkan Jumlah Data Mata Kuliah? ); readln(m); writeln; for J := 1 to M do write( Kode Mata Kuliah ke-,j,? ); readln(tabmhs[i].mk[j].kodemk); write( Nama Mata Kuliah ke-,j,? ); readln(tabmhs[i].mk[j].namamk); write( Nilai Mata Kuliah ke-,j,? ); readln(tabmhs[i].mk[j].nilai); writeln; writeln; writeln; writeln; end. S1 Teknik Informatika-Unijoyo 18

Summary Record adalah elemen larik yang bertipe tersetruktur Tipe data record merupakan kumpulan beberapa item data dengan tipe data yang berbeda-beda atau biasa disebut sebagai field Tipe data record juga dapat memiliki field berupa tipe data record yang lainnya S1 Teknik Informatika-Unijoyo 19

Daftar Pustaka Jogiyanto HM [1989]. Turbo Pascal, Andi Offset, Yogyakarta. Noor Ifada, ST [2005]. Diktat Matakuliah Algoritma Pemrograman, Hibah Kompetisi A1, Jurusan Teknik Informatika, Universitas Trunojoyo. Rinaldi Munir [2003]. Algoritma dan Pemrograman dengan Pascal dan C edisi Kedua, Penerbit Informatika, Bandung. S1 Teknik Informatika-Unijoyo 20