Melayani Dengan Riang Gembira

dan DOA

Cari di Blog Ini

Berubah tanpa ilmu adalah perubahan sia-sia

Yang abadi dalam kehidupan di dunia adalah perubahan, dengan ilmu perubahan menjadi terarah.

Orang cerdas itu adalah orang yang berencana untuk besok hari

Maka disiplin adalah bagian dari rencana.

12 Oktober 2020

Pembuatan Interface

Indikator Pencapaian Kompetensi dan Tujuan Pembelajaran

IPK Pengetahuan

  1. Menjelaskan konsep interface dari kumpulan class dalam PBO.
  2. Menjelaskan prosedur pembuatan interface dalam aplikasi PBO.
  3. Menerapkan langkah-langkah dalam pembuatan interface PBO

IPK Keterampilan

  1. Merancang program aplikasi berorientasi obyek dalam bentuk interface
  2. Membuat kode program aplikasi berorientasi obyek yang dikemas dalam interface.
  3. Menguji program aplikasi berorientasi obyek dalam format interface.

Tujuan Pembelajaran

Setelah melalui kegiatan diskusi, menggali informasi, presentasi dan tugas praktek diharapkan peserta didik akan dapat :
  1. Siswa dapat Menjelaskan konsep interface dalam pemrograman aplikasi berorientasi obyek dengan benar.
  2. Siswa dapat Menjelaskan prosedur pembuatan interface dalam pemrograman aplikasi berorientasi obyek dengan baik.
  3. Menerapkan prosedur pembuatan interface dalam pemrograman aplikasi berorientasi obyek dengan baik
  4. Siswa dapat merancang program aplikasi dalam kemasan interface

Materi Kegiatan Pembelajaran

Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun.

Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.
Interface adalah sebuah tipe referensi pada Java. 

Interface secara struktur serupa dengan class. 

Isi dari interface  adalah method abstract.  Artinya, method yang hanya dideklarasikan dan tidak ditulis secara utuh.   

Deklarasi method pada interface serupa dengan method pada abstract class.  
Variabel pada interface akan memiliki aturan static dan final.

Adapun method akan memiliki aturan public dan abstract. 
Dalam pemahaman bahasa Indonesia interface itu diartikan sebagai antarmuka.  Bagian muka bisa dipahami sebagai bagian yang terlihat. Sedang bagian belakang yang merupakan isinya tidak terlihata.

Dalam interface ini, tidak ada pemrograman dalam method maupun event.   Dengan kata lain interface dipahami sebagai standardisasi daftar property, method dan event yang harus diimplementasikan oleh clas-class lain yang merupakan turunannya.

Jika menganggap abstract class sebagai blue print dari class-class lain, interface adalah implementasi method yang harus tersedia dalam sebuah object.

Sebagai contoh secara nyata analogi tentang class komputer, interface dapat dicontohkan dengan mouse, atau keyboard.  

Di dalam interface mouse,  kita tidak membuat method seperti klik_kiri(), klik_kanan(), atau double_klik().

Interface bisa diturunkan atau diwariskan kepada class yang ingin memakai method yang ada dalam masing-masing interface tersebut dengan keyword extends [interface yang didefinisikan].

Sebuah class dapat mengimplementasikan 1 interface yang sudah dibuat dengan keyword implement.

pendeklarasian interface adalah sebagai berikut :

interface Operasi {
public void Penjumlahan();
public void Pengurangan ();
}

Implementasi Interface

Cara menggunakan interface pada kelas lain, harus menggunakan keyword implements

Deklarasi implements interface sebagai berikut :
 
public class Calculator implements Operasi{
 private double bil1, bil2;
//override semua method pada interface

 public static void main (String []args){
 Calculator cal = new Calculator(3,4);
 System.out.print (“Hasil penjumlahan “+cal.getbil1()+” dan “cal.getbil2()”adalah “);
 cal.Penjumlahan();

   }
}

Penjelasan Interface Pada Java

Isi dari interface adalah method abstract, artinya method hanya dideklarasikan tidak ditulis secara utuh. Deklarasi method pada interface serupa dengan method pada class abstract.
Abstraction class merupakan sebuah class abstak (class setengah jadi)  yang memiliki method dan atribut. Abstraction class adalah hierarki tertinggi dari sub-sub class-nya. Kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya. 

Berikut ini aturan nya :
  1. Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
  2. Sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
  3. Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
  4. Jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) serta method-method yang abstract harus disempurnakan oleh kelas turunannya melalui override.
Variable pada interface akan memiliki aturan static dan final sedangkan method akan memiliki aturan public dan abstract. 
Kelas-kelas yang diturunkan dari kelas abstraklah yang harus mendefinisikan secara detail method tersebut. Abstract class adalah class yang di dalam terdapat fungsi abstract.

Fungsi abstract adalah fungsi tanpa implementasi, di mana dikarenakan sifatnya terlalu general sehingga tidak bisa diimplementasikan.

Contoh program tentang penggunaan Abstraction Class pada program java.

Simpanlah file class Biodata.java ini dalam direktori abstraksi

package abstraksi;

abstract class Biodata {

    public abstract void mData(String nama, String ttl);
    public void mBiodata(){
    System.out.println("Biodata: Abdul Jaber al Banjarani");
    }
}

Simpan pula file class Implementasi.java ini dalam direktori abstraksi

package abstraksi;
public class Implementasi extends Biodata {
    @Override
    public void mData(String nama, String ttl){
        System.out.println("Nama :"+nama);
        System.out.println("Ttl :"+ttl);
    }
}

Berikutnya adalah contoh class file  yang menggunakan Abstraction . 

Terdapat 2 buat method, yaitu mData dan mBiodata.

Pada mData terdapat kata abstract itu menunjukan bahwa method itu merupakan method abstract dan harus di override pada class turunannya.

package abstraksi;

public class JavaInterfaces {
    
    public static void main(String[] args) {
   
    // TODO, add your application code
    Implementasi imp = new Implementasi();
    String nama= "Suaeb Rizal";
    String ttl="Jakarta, 30 April 1960";
   
    imp.mBiodata();
    imp.mData(nama,ttl);
    System.out.println("Hello Ok !");
    }
}

 
Class terakhir adalah class main yaitu untuk menjalankan programnya .

Pada baris awal void main terdapat pembuatan object dari class implementasi dan akan di lengkapi dari dua class di atas.

Karena pada method mData terdapat dua buah paramenter yaitu nama dan ttl,
pada source kode imp.mBiodata(), maka main akan mengambil method mBiodata pada class imp atau Implementasi, jika dilihat pada class Implemetasi tidak terdapat method mBiodata pada classnya karena merupakan salah satu karakteristik OOP yaitu Inheritance.
Selanjutnya imp.mData(nama,ttl), berikut adalah untuk memanggil method mData pada class imp atau Implemetasi beserta parameter sesui kebutuhannya.

 Output dari program diatas
















Tugas / Penilaian

A. Soal Teori

1. Class class object dapat melakukan komunikasi satu dengan lainnya, jelaskan pengertian dan peranan interface pada PBO ?

 2. Disajikan sebuah contoh interface

 

interface Operasi {

public void Penjumlahan(int x, int y);

public void Pengurangan (int x, int y);

}

Sebutankanlah  nama kandungan yang ada pada interface di atas dan jelaskan aturan pada penentuan variabelnya?

 3. Pada komputer ada interface yang namanya mouse dan keyboard, jelaskan metode-metode apa yang ada di dalam kedua interface tersebut ?

 4. Keyword  apakah yang digunakan untuk membuat class turunan yang akan menggunakan method pada  suatu interface serta sebutkan keyword untuk membuat class implementasi dari class turunan?

 5.a.  Jelaskan hubungan antara

a)     Class dengan Class

b)     Class dengan Interface

c)      Interface dengan Interface

5.b. Buatlah bagan untuk soal no 5.a.

B. Soal Praktek :

 

interface namaInterface {

method();

method();

}



1. Berdasar format di atas

buatlah interface induk dengan metode tambah dan metode kurang, yang mempunyai dua parameter bilangan type double a dan b.

2. Dari soal no 1 . Dengan keyword extends. Buatlah interface turunan dari interface induk dengan isi method nya berupa kali dan bagi (dengan 2 parameter a dan b)

10 September 2020

Menerapkan pembuatan antar muka (User Intreface) pada aplikasi

program StatusSiswa;

uses crt;

var

nama, tempattgllahir, jeniskelamin, alamat, agama, nohp, email, pekerjaan:string;

umur:integer;

begin

textcolor(10);

clrscr;

writeln (' ');

writeln(' ISILAH STATUS ANDA DI BAWAH INI ');

textcolor(12);

writeln('===============================================================================');

textcolor(10);

writeln( ' BIODATA');

textcolor(12);

writeln('===============================================================================');

write(' NAMA : '); readln(nama);

write(' TEMPAT, TGL LAHIR : '); readln(tempattgllahir);

write(' JENIS KELAMIN : '); readln(jeniskelamin);

write(' ALAMAT : '); readln(alamat);

write(' AGAMA : '); readln(agama);

write(' NO HP : '); readln(nohp);

write(' E-MAIL : '); readln(email) ;

write(' PEKERJAAN : '); readln(pekerjaan);

writeln('===============================================================================');

textcolor(10);

writeln(' PENGISIAN STATUS SELESAI');

textcolor(12);

writeln('===============================================================================');

textcolor(10);

writeln(' INILAH DATA ANDA ');

textcolor(12);

writeln('===============================================================================');

textcolor(10);

writeln('@ anda bernama ',nama,'.');

writeln('@ tempat, tgl lahir anda ', tempattgllahir,'.');

writeln('@ anda berjenis kelamin ' ,jeniskelamin,'.');

writeln('@ anda tinggal di ' ,alamat,'.');

writeln('@ agama anda ' ,agama,'.');

writeln('@ no hp anda ',nohp,'.');

writeln('@ e-mail anda ',email,'.');

writeln('@ pekerjaan anda ',pekerjaan,'.');

textcolor(12);

writeln('===============================================================================');

textcolor(10);

writeln(' PASTIKAN DATA ANDA BENAR, BILA ANDA SUDAH YAKIN DATA ANDA BENAR TEKAN ENTER! ');

readkey;

readln;

end.

 

//---- output nya




28 Agustus 2020

Menerapkan Penggunaan Fungsi dan Prosedur

Indikator Pencapaian Kompetensi

IPK Pengetahuan

  • Menjelaskan konsep fungsi dalam bahasa pemrograman
  • Menerapkan fungsi-fungsi buatan sendiri
  • Menerapkan fungsi-fungsi bawaan dari bahasa pemrograman

IPK Keterampilan

  • Membuat aplikasi dengan fungsi buatan sendiri
  • Membuat aplikasi dengan fungsi bawaan bahasa pemrograman

Tujuan Pembelajaran

  • Siswa dapat menerapkan fungsi dan prosedur buatan sendiri maupun bawaan dalam suatu aplikasi
  • Siswa dapat mengetahui salah satu teknik pemrograman terstruktur yaitu pada pembuatan Sub Program atau penerapan konsep program modular.

Materi Kegiatan Pembelajaran


PROCEDURE DAN FUNCTION

Pemahaman fungsi dan prosedur ini menjadi fondasi atau dasar pemahaman pemrograman berbasis objek. Tanpa pemahaman yang paripurna mengenai faham fungsi atau prosedur maka akan kesulitan untuk memahami pemrograman berorientasi objek.


 PROSEDUR DAN FUNGSI

Prosedur maupun fungsi adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Prosedur diawali  dengan kata cadangan “Procedure” sedangkan fungsi diawali dengan kata cadangan “Fungction” pada bagian deklarasinya.

 Perbedaan paling mendasar antara Procedure dan Fungsi bahwa Pada Procedure tidak dapat memulangkan(mengembalikan)   nilai kepada bagian program yang memanggilnya sedangkan pada fungsi dapat memulangkan nilai.

 Bentuk Umum Pendeklarasian Procedure :

 Procedure Nama_Prosedur;

 Begin

Statement;
. . .
Statement;

End;

 

Atau :

Procedure Nama_Prosedur(Daftar Parameter); Begin

Statement;
 . .
Statement;

End;

Bentuk Umum Pendeklarasian Fungsi :

Function Nama_Fungsi : Type_Data;

Begin

Statement;
. . .
Statement;

End;

 Atau :

Function Nama_Fungsi(Daftar Parameter): Type_Data; Begin

Statement;
. . .

Statement;

End;


Contoh Program :

{ Contoh Pemakaian Procedure dan Fungsi }

Uses CRT;

Var

op1,op2 : integer;

Hasil : integer;

{ Prosedur cetak hasil }

Procedure Cetak_hasil(hasil :integer);

Begin

Write(' Hasil Penjumlahan  = ',hasil);

End;

 { Fungsi Tambah }

 Function Tambah(a: integer; b:integer):integer; Begin

Tambah := a + b;

End;

 

{ Program Utama } Begin

Clrscr;

 

Write(' Masukkan Operand 1 = '); Readln(op1);
Write(' Masukkan Operand 2 = '); Readln(op2);

hasil := Tambah(op1,op2); Cetak_Hasil(hasil); Readln;

End.

 PARAMETER FORMAL DAN PARAMETER AKTUAL

Parameter Formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi atau prosedur.
Parameter Aktual adalah variabel (parameter) yang dipakai dalam pemanggilan fungsi atau prosedur

Dalam contoh program pertambahan di atas parameter formal terdapat pada pendefinisisan fungsi dan Procedure.

Procedure Cetak_hasil(hasil :integer);

Function Tambah(a: integer; b:integer):integer;

Sedangkan parameter aktual terdapat pada pemanggilan fungsi atau procedure hasil :=

Tambah(op1,op2);

Cetak_Hasil(hasil);

 CARA MELEWATKAN PARAMETER

 Cara melewatkan suatu parameter dalam Bahasa Pascal ada dua cara yaitu pemanggilan secara nilai (Call by Value) dan Pemanggilan Secara Referensi

 

(Call by Reference).

 Pemanggilan Secara Nilai (Call By Value)

 Call by value akan menyalin nilai dari parameter aktual ke parameter formal. Yang dikirimkan ke fungsi atau prosedur adalah nilai dari datanya, bukan alamat memori letak dari datanya.

Fungsi dan prosedur yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi atau prosedur.

Perubahan nilai di fungsi atau prosedur (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya.

Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi atau prosedur ke fungsi atau prosedur yang dipanggil.

Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja.

Contoh Program :

{ Program pemanggilan prosedur atau fungsi secara pengiriman nilai (call by value) }

Uses CRT;

 

Var

a,b : integer;

{ Deklarasi Procedure Tukar } Procedure tukar(x:integer;y:integer); Var

z : integer; { variabel sementara } Begin

{ tukar nilai x dan y }

z := x;

x := y;

y := z;

 

Writeln(' Nilai di akhir fungsi tukar() '); Writeln(' x = ',x,', y = ', y);

End;

 { Program Utama } Begin

Clrscr;

{ inisialisasi nilai a dan b } a := 15;

b := 10;

Writeln('<< Nilai sebelum pemanggilan fungsi >>'); Writeln(' a = ',a,' b = ',b);

tukar(a,b); { pemanggilan prosedur tukar()} Writeln('<< Nilai setelah pemanggilan fungsi >>'); Writeln(' a = ',a,' b = ',b);

Readln;

End.

Pemanggilan Secara Referensi (Call by Reference)

Pemanggilan secara Referensi merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi atau prosedur.

Yang dikirimkan ke fungsi atau prosedur adalah alamat letak dari nilai datanya, bukan nilai datanya.

Fungsi atau prosedur yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya.

Perubahan nilai di fungsi atau prosedur akan merubah nilai asli di bagian program yang memanggil fungsi atau prosedur.

Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi atau prosedur pemanggil ke fungsi atau prosedur yang dipanggil dan juga sebaliknya.

Pengiriman secara acuan tidak dapat dilakukan untuk suatu ungkapan.

Contoh Program :

{ Program pemanggilan prosedur atau fungsi secara pengiriman referensi (call by reference) }

Uses CRT;

Var

a,b : integer;

 { Deklarasi Procedure Tukar }

 Procedure tukar(var x:integer;var y:integer); Var

 z : integer; { variabel sementara } Begin

 { tukar nilai x dan y } z := x;

 x := y; y := z;

 Writeln(' Nilai di akhir fungsi tukar() '); Writeln(' x = ',x,', y = ', y);

End;

 { Program Utama } Begin

Clrscr;

 { inisialisasi nilai a dan b } a := 15;

 b := 10;

Writeln('<< Nilai sebelum pemanggilan fungsi >>'); Writeln(' a = ',a,' b = ',b);

tukar(a,b); { pemanggilan prosedur tukar()} Writeln('<< Nilai setelah pemanggilan fungsi >>');

Writeln(' a = ',a,' b = ',b);

Readln;

End.

 

PENGGOLONGAN VARIABEL

 Berdasarkan kelas penyimpanannya variable pada Pascal secara umum dapat dibedakan kedalam dua kelas yaitu :

Variabel lokal

 Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi.

 Sifat-sifat variabel lokal :

 Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan lenyap ketika proses eksekusi terhadap fungsi berakhir.

 Hanya dikenal oleh fungsi tempat variabel dideklarasikan

 Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya random).



Variabel global (eksternal)
Variabel global (eksternal) adalah variabel yang dideklarasikan di luar fungsi.
Sifat-sifat variabel global :
Dikenal (dapat diakses) oleh semua fungsi.

Jika tidak diberi nilai awal secara otomatis berisi nilai nol.






Penilaian / TUGAS :

Buatlah fungsi untuk menentukan apakah suatu bilangan adalah bilangan ganjil atau bilangan genap.

Buatlah prosedur yang akan meng-input 10 data numerik lalu akan melakukan pensortiran secara Ascending (dari terkecil ke terbesar).

Buatlah suatu fungsi yang akan memulangkan nilai faktorial dari suatu bilangan.






Menganalisis Penggunaan Array Untuk Penyimpanan Data di Memori

Indikator Pencapaian Kompetensi

IPK pengetahuan

Menjelaskan array satu dimensi
Menjelaskan array multi dimensi
Mengidentifikasi penerapan array satu dimensi
Mengidentifikasi penerapan array mulri dimensi

IPK Ketrampilan 

Membuat aplikasi array satu dimensi
Membuat aplikasi array multi dimensi


Tujuan Pembelajaran 

Siswa dapat memahami struktur data Array, serta pemanfaatannya didalam perancangan program yang terstruktur.

Materi Kegiatan Pembelajaran

STRUKTUR DATA ARRAY

Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama dan merupakan gabungan dari beberapa variable sejenis serta memiliki jumlah komponen yang jumlahnya tetap.

Elemen – elemen dari array tersusun secara sequential dalam memori komputer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi.

ARRAY SATU DIMENSI

 Array satu dimensi tidak lain adalah kumpulan elemen–elemen yang identik yang tersusun dalam satu baris. Elemen – elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.

Untuk lebih jelasnya perhatikan gambar berikut :




 








                  


Bentuk Umum

Type

<NamaArray> = array[IdexArray] of TipeData;

 Contoh :

 Type

Gaji         = array[1..10] of longint;

 Logika = array[boolean] of integer;

 Pendeklarasian array diawali dengan kata baku type dan diikuti dengan nama array dan tanda sama dengan (=), lalu kata baku array beserta range index dan diakhiri dengan kata baku of beserta tipe datanya.

 Kita dapat mendeklarasikan sebuah tipe data baru yang terdiri dari elemen yang kita sebutkan satu persatu untuk kemudian dipakai sebagai index array . Tipe data tersebut disebut sebagai tipe data enumerasi. Perhatikan contoh dibawah :

Type

Hari=(Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu); PendapatanHarian = array[Hari] of real

Selain itu kita juga dapat mendeklarasikan sebuah tipe data berupa subrange bilangan untuk kemudian dipakai sebagai index dari suatu array seperti berikut.

Type

Tinggi = 145..210;

TinggiManusia = array [tinggi] of byte;

Atau kita juga dapat menggunakan konstanta untuk kemudian dipakai dalam index array. Untuk menggunakan konstanta perlu diawali dengan kata baku const. Untuk lebih jelasnya perhatikan contoh berikut.

Const

Min = 1;

Max = 10;

Type

Arr = array[Min .. Max] of byte;

Var

Point : arr;


Contoh Program :

{               Program untuk menginput nilai mahasiswa ke dalam array satu dimensi }

Program Data_Mahasiswa(Input,Outpu);

Uses CRT;

Type

Nilai_Mhs = array[1..10] of integer;

Var

Index : integer;

Nilai : Nilai_Mhs;

Begin

Clrscr;

 

{ Proses input nilai mahasiswa }

Writeln('<< Menginput nilai 10 mahasiswa >>');

for index:=1 to 10 do

Begin

Write(' Mahasiswa -> ',index:2,' = '); Readln(nilai[index]);

End;

Writeln;

Write(' Tekan Enter untuk melihat nilai mahasiswa... '); Readln;

{ Proses menampilkan nilai mahasiswa }

 CLRSCR;

 Writeln('<< Nilai mahasiswa yang telah diinput >>'); for index:=1 to 10 do

 Writeln(' Nilai -> ',index:2,' = ',Nilai[index]:5); Readln;

 End.

 
ARRAY DUA DIMENSI

 Array dua dimensi, yang sering digambarkan sebagai sebuah matriks adalah merupakan perluasan dari sebuah array satu dimensi. Jika pada array satu dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka pada array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang betipe sama sehingga dapat diilustrasikan seperti berikut.

 


                            






























Bentuk Umum :

Type

<NamaArray> = array[IndexArray1,IndexArray2] of TipeData;

 Contoh :

 Type

 Matriks = array[1..2,1..3] of byte; Logika = array[1..5,boolean] of integer;

 Type

Baris = 1..2;

Kolom = 1..3;

Ordo = array[Baris,Kolom] of byte;

 Var

Matrix : ordo;

 Pendeklarasian array dua dimensi hampir sama dengan pendeklarasian arary satu dimensi, kecuali pada array dua dimensi terdapat dua index array yang terdapat didalam kurung siku dan masing- masing index boleh berbeda tipe. Untuk lebih jelasnya perhatikan contoh berikut ini.

 Type

Kegiatan = (Main, Belajar, Nonton, Berenang};

 Hari = (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu); AktivitasAnak = array[Hari, Kegiatan] of byte;

Var

 A: AktivitasAnak;

 Pendeklarasian array AktivitasAnak diatas menggunakan dua buah tipe data yang masing-masing didefenisikan sendiri yaitu kegiatan dan hari. Jika digambarkan struktur array Aktivitas anak tersebut akan nampak seperti berikut.

 

[Main]

[Belajar]

[Nonton]

[Berenang]

 

 

 

 

 

[Senin]

10

12

23

35

21

5

11

44

[Selasa]

32

2

29

8

[Rabu]

20

13

16

6

[Kamis]

14

4

18

25

[Jum’at]

26

9

17

22

[Sabtu]



Untuk dapat mengakses masing – masing elemen dari array AktivitasAnak diatas kita harus mengetahui posisi baris dan kolom dari elemen – elemen yang ingin diakses tersebut. Sebagai contohnya jika kita ingin mengakses data yang di higlight pada tabel diatas (5) dapat kita deklarasikan seperti dibawah ini :

 

A [Selasa, Belajar]

 Note : Jika kita terbalik menuliskan baris dan kolom index array maka akan terjadi error.

 Contoh Program :

 

{ Program menginput nilai(bilangan) ke dalam array dimensi dua dan menampilkannya }

Program Matrix(Input,Output);

Uses CRT;

Type

Ordo = array[1..3,1..4] of integer;

Var

Baris, Kolom : Integer;

Matriks : Ordo;


Begin

Clrscr;

{ Menginput elemen array secara Row Major Order }

Writeln('<< Proses memasukkan elemen array >>');

for baris:=1 to 3 do

Begin

for kolom:=1 to 4 do Begin

Write(' Matriks[',baris,'][',kolom,'] = '); Readln(matriks[baris][kolom]);

End;

Writeln;

End;

 

{ Menampilkan elemen Array secara Row Major Order }

Writeln('<< Proses menampilkan isi array >>');

for baris:=1 to 3 do Begin

for kolom:=1 to 4 do Begin

Write(matriks[baris][kolom]:5);

End;

Writeln;

End;

Readln;

End.

 

Contoh Program

 

{ Program penjumlahan matriks dua dimensi } Program Penjumlahan_Matrix(Input,Output); Uses CRT;

Type Ordo = array[1..3,1..4] of integer;

 Var

A,B,X,Y,C : Ordo;

i,j : Integer;

Begin

Clrscr;

 {******* Masukkan matriks A *******}

 Writeln('<< Matriks A >>');

for i:=1 to 3 do

Begin

for j:= 1 to 4 do

Begin

 

Write(' Input data matrik A[',i,'][',j,']= '); Readln(A[i][j]);

 

End;

End;

 

{******** Masukkan matriks B ********}

Writeln('<< Matriks B >>');

for i:=1 to 3 do

Begin

for j:= 1 to 4 do

 Begin

 Write(' Input data matrik B[',i,'][',j,']= '); Readln(B[i][j]);

End;

End;

 

{******** Proses penjumlahan matriks A dan B ********}

 

for i:=1 to 3 do

Begin

for j:= 1 to 4 do

 

Begin

X[i][j]:=A[i][j]+B[i][j];

End;

End;

 

Clrscr;

{******** Cetak isi matriks A ********}

Writeln('<< matrik A >>');

 for i:=1 to 3 do

 Begin

for j:=1 to 4 do

Write(A[i][j]:6);

Writeln;

End;

Writeln;

 

{******** Cetak isi matriks B *******}

Writeln('<< matrik B >>');

for i:=1 to 3 do

Begin

for j:=1 to 4 do

 

Write(B[i][j]:6);

Writeln;

End;

Writeln;

 

{** Cetak hasil penjumlahan matriks A dan B **} Writeln('<< matrik penjumlahan A+B >>'); for i:=1 to 3 do

 

Begin

for j:=1 to 4 do

Write(X[i][j]:6);

Writeln;

End;

Writeln;

Readln;

 End.

  

ARRAY TIGA DIMENSI

 

Array tiga dimensi dapat dianalogikan sebagai suatu benda ruang 2 dimensi .


Bentuk Umum :


Type

<NamaArray> = array[IndexArray1,IndexArray2,IndexArray3]of TipeData;

Contoh :

Type

Kalender = array[Tanggal, Bulan, Tahun] of byte; Logika = array[1..10,boolean,2..15] of integer;

Deklarasi pada array tiga dimensi tidak berbeda dengan deklarasi pada array satu dimensi dan dua dimensi yang telah dijelaskan sebelumnya, kecuali pada index array.

Penilaian

SOAL :

1. Buatlah program untuk menginput, menghitung serta mencetak perkalian dua matriks dengan ordo bebas.

2. Buatlah program untuk menghasilkan invers dari suatu matriks dengan ordo bebas.

 

27 Agustus 2020

Menerapkan Struktur Kontrol Perulangan

 Indikator Pencapaian Kompetensi

Indikator KD pada KI pengetahuan

  1. Menjelaskan statement/perintah untuk perulangan
  2. Menerapkan statement/perintah untuk kontrol perulangan sederhana
  3. Menerapkan statement/perintah untuk kontrol perulangan bersarang

Indikator KD pada KI keterampilan

  1. Membuat aplikasi perulangan sederhana
  2. Membuat aplikasi perulangan bersarang

Tujuan Pembelajaran

  1. Dengan berdiskusi Siswa mampu Menjelaskan statement/perintah untuk kontrol perulangan.
  2. Dengan berdiskusi Siswa mampu menerapkan statement/perintah untuk kontrol perulangan sederhana , percabangan bersarang.
  3. Dengan praktek membuat aplikasi perintah untuk kontrol perulangan sederhana , percabangan bersarang, siswa mampu menguji dan mengkomunikasikan aplikasi perintah untuk kontrol perulangan sederhana , perulangan bersarang serta perbedaan penggunaannya.

Materi Kegiatan Pembelajaran

PERULANGAN (LOOPING)

Salah satu kegunaan pemrograman adalah untuk memudahkan pekerjaan yang harus dilakukan secara berulang.

Bentuk umum perulangan adalah :

'repeat'

aksi

'until' kondisi

Terdapat beberapa struktur pengulangan lain seperti 'while-do', 'for' dan sebagainya.

Dalam bahasa Pascal tersedia beberapa statemen yang digunakan untuk melakukan proses yang berulang-ulang sebanyak keinginan kita.

Misalnya saja, bila kita ingin menginput dan mencetak bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan. Namun dengan struktur perulangan proses, kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa perintah saja. Struktur perulangan dalam bahasa Pascal mempunyai bentuk yang bermacam-macam.

STRUKTUR PERULANGAN “FOR

Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana.
Bentuk umum perulangan for adalah sebagai berikut :


for var := Nilai_Awal to Nilai_Akhir do
statement


atau :


for var := Nilai_Awal downto Nilai_Akhir do statement


Catatan :

Kontrol variable harus dalam bentuk ordinal (bilangan bulat). Untuk perulangan dengan struktur “to” maka kontrol variable akan ditambahi 1 setiap perulangan, sedangakan dengan struktur “downto” kontrol variable akan dikurangi 1 setiap perulangan

Contoh program perulangan untuk menulis sebanyak 100 kali kalimat "Saya Bisa" menggunakan for

program for_loop;
uses crt;
var
  i: integer;
begin
  clrscr;
 
    for i := 1  to 100 do
      begin
        writeln('Saya Bisa');
      end;
     
  readln;
end. Penjelasan. variabel i merupakan variabel 'counter', yaitu suatu variabel untuk menunjukan atau menentukan berapa kali looping harus dilakukan. Untuk latihan, bisa diganti perulangannya jadi 200x misalnya.

Video Pembelajaran


~