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

dokumen-dokumen yang mirip
Daftar field MODUL 13 RECORD

Alwin sanjaya

Array & Program Modular

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

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

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

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

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

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

BAB 6 Array Dua Dimensi

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

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

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

Menggunakan Tipe Data Record Tiap-tiap komponen Field dari Record dapat dipergunakan dengan cara menuliskan :

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

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

PROSES PENJUALAN BUKU

Dasar Komputer & Pemrograman 2A

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

ARRAY. Brigida Arie Minartiningtyas, M.Kom

BAB I TUJUAN DAN LANDASAN TEORI

STRUKTUR KONTROL. IF kondisi THEN [blok] Statement ELSE [blok] Statement. IF kondisi THEN BEGIN END; IF kondisi THEN BEGIN IF kondisi THEN BEGIN

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-6 - Hal 21

Teori Algoritma. Struktur Algoritma

DASAR PEMROGRAMAN. File

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Bubble Sort (Pengurutan Gelembung / Pemberatan)

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

MODUL 1. Struktur Bahasa PASCAL secara umum

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

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

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Pertemuan 4 KONSEP TIPE DATA

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

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

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

Dasar Komputer & Pemrogaman 2A

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Pengenalan Pascal. Sejarah Singkat Pascal

Algoritma Pemrograman

BAB IV MATRIKS (ARRAY MULTI DIMENSI)

Algoritma Pemrograman

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

BAB IV MATRIKS (ARRAY MULTI DIMENSI)

Bab 5 Array (Variabel Berindeks)

PROCEDURE. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; End ; Begin Statement program utama ; end.

Algoritma Pemrograman

P A S C A L D A S A R

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

PENJUMLAHAN DAN PENGURANGAN MATRIKS

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

Pertemuan 3 Penyeleksian Kondisi

PEMBAHASAN KHUSUS TIPE DATA LANJUTAN

Algoritma Pemrograman

Materi ke-4 Praktikum Algoritma dan Pemrograman kelas Matematika PEMROGRAMAN MODULAR

Tipe Data dan Operator dalam Pemrograman

Algoritma Pemrograman

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

KONSEP DASAR BAHASA PASCAL

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

Contoh 1: Akan dicetak angka 1 sampai 10 dengan menggunakan perulangan for

Algoritma Pemrograman

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

procedure menu; forward; { *memperkenalkan procedure menu, yang dibuat dibawah utk dipanggil diatasnya* }

SMA SANTO PAULUS PONTIANAK

ALGORTIMA DAN PEMROGRAMAN

Algoritma Pemrograman

Pembahasan X = Rp Tarif Pajak = 5% 8% Harga televisi + pajak 5% = % = % = % =

TIPE DATA DALAM PASCAL

Struktur Data. Pertemuan 2

Nama : Aji Dulmajid Kelas : TI-B2. Algoritma dan Pascal. Kumpulan Script

Pertemuan 4 Diagram Alur / Flowchart

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

ARRAY KONSEP ARRAY. Type Angka = array [1..10] of integer; Var A:Angka;

TUGAS DASAR PEMEROGRAMAN. Tugas ini disusun untuk memenuhi tugas mata kuliah Dasar Pemerograman. Dosen Pengampu. Ika Atsari Dewi STP, MP.

MATERI 4 PENYELEKSIAN KONDISI

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Prosedur dan Fungsi di Turbo Pascal

Nama : Suseno Rudiansyah Kelas : X2T Fakultas : Teknik Informatika Tugas : Algoritma 2 1. STRUKTUR DATA KOMPOSIT

PROSEDUR DAN FUNCTION

CCH1A4 / Dasar Algoritma & Pemrogramanan

IT132 Dasar-Dasar Pemrograman. Ramos Somya, S.Kom., M.Cs.

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

PROSEDUR DAN FUNGSI. Altien Jonathan Rindengan, S.Si., M.Kom

Subprogram. Definisi

Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN. Soal

4. Program untuk mengolah variabel (* Variable dan Konstanta *) Program Contoh_2a; Uses CRT; Const phi = 3.14; Var x : Integer;

4.1 Struktur Rancangan Puncak-Turun dengan Procedure

STRUKTUR BAHASA PEMROGRAMAN

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

Pertemuan 3 Prosedur dan Fungsi

OPERASI PERNYATAAN KONDISI

Algoritma dan Pemrograman Array

Transkripsi:

Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13 ARRAY Array : variabel berindeks (punya beberapa tempat, tergantung deklarasinya) iabel : mempunyai hanya 1 tempat Deklarasi Array arrint : array [1..10] of integer; Cara pengaksesan elemen array arrint[1] := 2; artinya mengassign 2 ke array arrint yang indeksnya 1. x := arrint[ C ]; artinya mengassign nilai array yang berindex c ke variabel x. program cobaarray; var tab : array [1..5] of integer; i : integer; tab[1] := 5; tab[2] := 4; tab[3] := 3; tab[4] := 2; tab[5] := 1; write('masukkan integer[1..5] '); read (i); if (i > 0) and (i <= 5) then writeln ('Isi tab[', i, '] : ', tab[i]) else writeln ('masukan tidak valid'); end. program conditional2; var arrhari : array [1..7] of string; idx : integer; arrhari[1] := Minggu ; arrhari[2] := Senin ; arrhari[3] := Selasa ; arrhari[4] := Rabu ; arrhari[5] := Kamis ; arrhari[6] := Jumat ; arrhari[7] := Sabtu ; writeln( Masukkan indeks 1..7 : ); readln(idx);

Array, Record, sorting : Elektro Unud (MSU) Page 2 of 13 end. writeln ( Hari ini hari + arrhari[idx]); Batas : real; I,J,Jumlah : word; Cari : array[1..100] of char; Batas : sqrt(100); Jumlah :=0; For I:= 2 to 100 do If cari[i] <> * then Write(I:5); Jumlah :=jumlah +1; If I < batas then J:=I; While J <100 do J:=J+I; Cari[J] := * ; Writeln; Writeln ( ditemukan sejumlah,jumlah); Array Dimensi 2 mewakili suatu table atau matrik yaitu indeks pertama dapat menunjukkan baris dan indeks kedua menunjukkan kolom dari table/matrik. Bentuk deklarasi Nama-larik=array[tipe-indeks1] of array[tipe indeks2] of tipe larik Atau Nama-larik=array[tipe-indeks1, tipe indeks2] of tipe larik Contoh :

Array, Record, sorting : Elektro Unud (MSU) Page 3 of 13 Table : array[1..3,1..2] of byte; I,J : byte; Tabel[1,1] : = 15; Tabel[1,2] : = 35; Tabel[2,1] : = 25; Tabel[2,2] : = 75; Tabel[3,1] : = 65; Tabel[3,2] : = 95; For I := 1 to 3 Do For J := 1 to 2 Do Write (Tabel[I,J]:6); Writeln; Alternatif Deklarasi Type X = array [1..3,1..2] of byte; Tabel : x; Latihan : Buatlah program untuk menampilkan hasil penjualan barang-barang kebutuhan pokok (beras, gandum, kedelai, terigu) untuk 3 tahun anggaran ( 2000,2001,2002) Contoh 2 Perkalian Matrik Uses Crt; Type Larik = array[1..25,1..25] of real; I,J,K : byte; M,N,L :byte; A,B,C : larik; ClrScr; Write ( Jumlah Baris Matrik 1 ); readln(m); Write ( Jumlah kolom Matrik 1/Baris Matrik 2 ); readln(n); Write ( Jumlah Kolom Matrik 2 ); readln(l); Writeln; {input isi matrik 1} For I:= 1 to M Do For J:= 1 to N Do

Array, Record, sorting : Elektro Unud (MSU) Page 4 of 13 Write ( Nilai [,I,,,J, ]? ); readln (A[I,J]); {input isi matrik 2} For I:= 1 to N Do For J:= 1 to L Do Write ( Nilai [,I,,,J, ]? ); readln (B[I,J]); {perkalian Matriks} For I:= 1 To M Do For J:= 1 To N Do C[I,J]:=0; For K :=1 To L Do C[I,J]:= C[I,J]+A[I,K]*B[K,J] ; {Mencetak Hasil Perkalian } Clrscr; Writeln; For I := 1 to M Do For J := 1 To L Do Write (C[I,J] :9:2); Writeln; Latihan : kerjakan untuk penjumlahan Matriks RECORD Tipe data terstruktur untuk beberapa item data yang masing-masing dapat memiliki tipe data yang berbeda. Masing-masing item data disebut field. Misal Record langganan terdiri dari field kode_langganan, nama_langganan, telp,utang, dll. Contoh : Type Lgn = record Kode : integer; Nama : string [35]; Alamat : string [45]

Array, Record, sorting : Elektro Unud (MSU) Page 5 of 13 Utang : real ; Langganan : lgn; Cara lain deklarasi langganan : record Kode : integer; Nama : string [35]; Alamat : string [45] Utang : real ; Memakai Tipe Data Record Pengenal-record.pengenal-field[.pengenal-field] Pengenal record langganan Pengenal field kode, nama, alamat, utang Jika Field nama akan diisi suatu nilai misal JONI maka ditulis dengan Langganan.nama := JONI ; Contoh : Type Hasil = Record Jarijari :real; Keliling : real; Luas : real ; Lingkaran : Hasil; Write ( Jari-jari Lingkaran ); readln(lingkaran.jarijari); Lingkaran.keliling := 2*3.14*Lingkaran.Jarijari; Lingkaran.luas := 3.14 * sqr(lingkaran.jarijari); Writeln ( Keliling Lingkaran, Lingkaran.keliling); Writeln ( Luas Lingkaran, Lingkaran.luas); Statement WITH penyederhanaan penulisan With Lingkaran Do Write ( Jari-jari Lingkaran ); readln(jarijari); Keliling := 2*3.14*Jarijari;

Array, Record, sorting : Elektro Unud (MSU) Page 6 of 13 Writeln ( Keliling Lingkaran, keliling); Contoh Implementasi Banyak Record Type DataMhs = Record Nomor : integer; Nama : string[20]; IP : real ; JumlahMhs.,I,J : byte; Mahasiswa : array [1..50] of DataMhs; Write( Jumlah mahasiswa: ); readln(jumlahmhs); For I:= 1 to JumlahMhs Do With Mahasiswa [I] Do Write ( Nomor mahasiswa : ); readln (Nomor); Write ( Nama mahasiswa : ); readln (Nama); Write ( IP mahasiswa : ); readln (IP); For I:= 1 to JumlahMhs Do With Mahasiswa[I] Do Writeln(Nomor :5, nama:20, IP:11:2); Proses Pengurutan PENGURUTAN DENGAN METODE BUBBLE SORT Bubble Sort adalah nama yang diberikan pada prosedur untuk mengatur sekelompok bilangan dengan urutan dari kecil ke besar. Untuk mengurutkan bilangan diperlukan variabel array yang digunakan untuk menampung semua bilangan yang akan diurutkan. Proses pengurutan dilakukan dengan membandingkan semua elemen array satu persatu. Dalam metode bubble sort, pengurutan demulai dengan membandingkan elemen pertama untuk mendapatkan angka terbesar. Lalu angka tersebut ditempatkan pada elemen terakhir. Bubble Sort tidak lain adalah pengulangan prosedur hingga bilangan bilangan yang ada tersusun menurut urutan dari yang kecil ke yang besar. Contoh Buble Sort 6 5 8 3

Array, Record, sorting : Elektro Unud (MSU) Page 7 of 13 Putara Pertama : 6 5 8 3 5 6 8 3 5 6 8 3 5 6 3 8 Pada akhir proses pertama ini, bilangan yang terbesar menempati tempat yang sesuai. Putaran Kedua : 5 6 3 8 5 6 3 8 5 3 6 8 5 3 6 8 Pada akhir proses kedua ini, bilangan terbesar kedua menempatkan tempat yang sesuai. Putaran Ketiga : 5 3 6 8 3 5 6 8 3 5 6 8 3 5 6 8 Bila proses ini dilanjutkan, tidak ada pertukaran tempat lagi bagi bilangan bilangan tersebut, sebab bilangan tersebut telah selesai disusun. Lakukan tracing terhadap program di bawah ini, lakukan perbaikan jika ditemukan kesalahan Program Penggunaan_Array_Untuk_Sortir_Buble_Sort; Uses Crt; nil1 : Array[1..100] of Integer; n,i,j,dum : Integer; ClrScr; Write('mau isi berapa data acak (integer) ='); readln(n); For i := 1 to n Do Write('Data Ke ',i,':');readln(nil1[i]); {* penyapuan proses} for i:= 1 to n-1 do for j:= i to n do if nil1[j]<nil1[i] then dum:=nil1[j]; nil1[j]:=nil1[i]; nil1[i]:=dum;

Array, Record, sorting : Elektro Unud (MSU) Page 8 of 13 end. writeln; writeln('hasil Sortir'); for i := 1 to n do write(nil1[i]:3); readln; Perbaikan program (optimalisasi pada perulangan ke- j (untuk suatu nilai i pada nilai j yang pertama) tidak perlu membandingkan dirinya sendiri for j:=( i+1) to n do if nil1[j]<nil1[i] then { sama } Hasil Eksekusi Program ini bekerja dengan mencari nilai terkecil untuk ditempatkan pada array ke -1 untuk semua putaran dari i = 1 sampai ke n-1 I= 1 nilai terkecil pertama, i=2 nilai terkecil kedua, dst Program Penggunaan_Array_Untuk_Sortir_Buble_Sort2; Uses Crt; nil1 : Array[1..100] of Integer; n,i,j,k,dum,terbesar : Integer; ClrScr; Write('mau isi berapa data acak (integer) ='); readln(n); For i := 1 to n Do Write('Data Ke ',i,':');readln(nil1[i]);

Array, Record, sorting : Elektro Unud (MSU) Page 9 of 13 {* penyapuan proses} for i:= 1 to n do for j:= 1 to (n-1) do if nil1[j] > nil1[(j+1)] then dum:=nil1[j]; nil1[j]:=nil1[(j+1)]; nil1[(j+1)]:=dum; writeln('selesai sorting putaran ke',i); for k:=1 to n do write(nil1[k]:3); writeln; end. writeln; writeln('hasil Sortir'); for i := 1 to n do write(nil1[i]:3); readln;

Array, Record, sorting : Elektro Unud (MSU) Page 10 of 13 SUB PROGRAM A. Parameter Formal dan Aktual Parameter formal adalah parameter yang terdapat pada pendeklarasian judul subprogram, baik pada fungsi maupun prosedur. Contoh : Function Tambah ( A, B : real) : real; A dan B parameter formal Parameter aktual adalah parameter pada pemanggilan fungsi atau prosedur. Contoh : Hasil := Tambah(Bil1, Bil2); Bil1 dan Bil2 parameter aktual B. iabel Lokal dan Global iabel lokal adalah variabel yang dideklarasikan di suatu fungsi atau prosedur, tetapi hanya dikenali oleh fungsi atau prosedur tersebut dan bagian pernyataan program utama tidak dapat mengakses variabel ini. iabel global adalah variabel yang dideklarasikan pada bagian deklarasi program utama. Baik fungsi atau prosedur dapat mengakses variabel ini. C. Fungsi Mempunyai sifat memberikan nilai pada saat dipanggil. Umumnya mempunyai argumen atau parameter yang ditulis di dalam tanda kurung. Deklarasinya adalah : FUNCTION nama_fungsi(daftar_parameter) : tipe; Bagian_deklarasi; Bagian_pernyataan; daftar_parameter berisi sejumlah parameter, bentuknya : daf_parameter_1 : tipe_1;... ; daf_parameter_n : tipe_n; tipe tipe dari hasil fungsi Jika fungsi tidak memiliki parameter, tanda ( ) tidak perlu disertakan. D. Prosedur Mempunyai sifat tidak memberikan nilai saat dipanggil. Deklarasinya adalah : PROCEDURE nama(daftar_parameter); Bagian deklarasi; Bagian pernyataan; Pembuatan daftar_parameter, bagian deklarasi dan bagian pernyataan seperti pada pembuatan fungsi. E. Contoh 1. Program yang menggunakan fungsi sederhana Program Fungsi1; { ---------------------------------------------------- } { Contoh pembuatan fungsi yang sederhana } { --------------------------------------------------- }

Array, Record, sorting : Elektro Unud (MSU) Page 11 of 13 Uses WinCrt; Bil1, Bil2, Hasil : integer; Function Tambah(A, B : integer) : integer; Tambah := A + B; { Akhir dari fungsi Tambah } { Program Utama } Write ( Masukkan nilai bilangan pertama : ); Readln (Bil1); Write ( Masukkan nilai bilangan kedua : ); Readln (Bil2); Hasil := Tambah(Bil1, Bil2); { Pemanggilan fungsi } Writeln( Hasil penjumlahan =, Hasil); Jika program diatas dieksekusi, hasilnya adalah : 2. Program yang menggunakan fungsi sederhana yang melibatkan variabel lokal dan global dengan nama yang sama Program Fungsi2; { ---------------------------------------------------- } { Contoh pembuatan fungsi yang sederhana } { yang melibatkan variabel lokal dan global } { dengan nama yang sama } { -------------------------------------------------- } Uses WinCrt; Bil1, Bil2, Hasil : integer; { iabel global } Function Tambah(A, B : integer) : integer; Hasil : integer; { iabel lokal } Hasil := A + B; Tambah := Hasil; { Akhir dari fungsi Tambah } { Program Utama } Write ( Masukkan nilai bilangan pertama : ); Readln (Bil1); Write ( Masukkan nilai bilangan kedua : ); Readln (Bil2); Hasil := 23; Writeln (Tambah(Bil1, Bil2)); { Pemanggilan fungsi } Writeln ( Hasil =, Hasil);

Array, Record, sorting : Elektro Unud (MSU) Page 12 of 13 Jika program diatas dieksekusi, hasilnya adalah : 3. Program yang menggunakan fungsi sederhana yang melibatkan variabel lokal dan global Program Fungsi3; { ---------------------------------------------------- } { Contoh pembuatan fungsi yang sederhana } { yang melibatkan variabel lokal dan global } { -------------------------------------------------- } Uses WinCrt; Bil1, Bil2, Hasil : integer; { iabel global } Function Tambah(A, B : integer) : integer; Hasil := A + B; Tambah := Hasil; { Akhir dari fungsi Tambah } { Program Utama } Write ( Masukkan nilai bilangan pertama : ); Readln (Bil1); Write ( Masukkan nilai bilangan kedua : ); Readln (Bil2); Hasil := 23; Writeln (Tambah(Bil1, Bil2)); { Pemanggilan fungsi } Writeln ( Hasil =, Hasil); Jika program diatas dieksekusi, hasilnya adalah : 4. Program yang menggunakan sebuah prosedur Program Prosedur; Uses WinCrt; Celcius, Fahrenheit : Real; 12

Array, Record, sorting : Elektro Unud (MSU) Page 13 of 13 Procedure CelKeFahren; {-------------------------------------} { Konversi dari Celcius ke Fahrenheit } {-------------------------------------} Fahrenheit := ((9/5)*Celcius)+32; Writeln('Konversi dari Celcius ke Fahrenheit'); Write('Celcius = '); Readln(Celcius); CelKeFahren; Writeln('Fahrenheit = ',Fahrenheit:0:2); Jika program diatas dieksekusi, hasilnya adalah : 13