• Tidak ada hasil yang ditemukan

ALGORITMA PEMROGRAMAN 1A** (PP :S1-KA) Pertemuan 6. Ahmad Hidayat

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALGORITMA PEMROGRAMAN 1A** (PP :S1-KA) Pertemuan 6. Ahmad Hidayat"

Copied!
29
0
0

Teks penuh

(1)

ALGORITMA PEMROGRAMAN 1A**

(PP-011302:S1-KA)

Pertemuan 6

(2)

TEKNIK PENGULANGAN/LOOPING/PEMUTARAN

KEMBALI

NESTED LOOP

ARRAY ( Variabel Berindeks )

(3)

NESTED LOOP (Perulangan Bersarang)

Nested loop adalah proses loop/pemutaran didalam pemutaran lainnya dengan menggunakan lebih dari satu statement FOR-NEXT.

Pada operasi perulangan, urutan eksekusi dimulai dari perulangan yang paling terdalam, sehingga instruksi-instruksi yang didapat pada perulangan yang paling dalam akan paling banyak dieksekusi.

(4)

NESTED LOOP (Perulangan Bersarang)

Syarat yang harus diperhatikan untuk operasi FOR-NEXT

perulangan bersarang :

Setiap perulangan tidak boleh menggunakan variabel

counter/index penghitung yang sama.

Perulangan-perulangan

tersebut

tidak

boleh

saling

berpotongan

(overlapping),

karena

batas

antara

(5)

NESTED

LOOP

(6)

Latihan

HASIL I J Output 1 11, 12, 13, 14, 15 11, 12, 13, 14, 15, 1 2 11, 12, 13, 14, 15 11, 12, 13, 14, 15, 2 3 11, 12, 13, 14, 15 11, 12, 13, 14, 15, 3

(7)
(8)

ARRAY ( Variabel Berindeks )

▪ Array ( Variabel Berindeks ) adalah variabel yang mempunyai tipe data sejenis, misalnya numerik atau string, yang mampu menampung banyak nilai dan didefinisikan dengan sebuah nama variabel berindeks.

▪ Contoh suatu variabel berindeks adalah matriks. Misalkan matriks X berisi : Untuk menyimpan nilai matriks X tidak dapat digunakan sebuah variabel. Untuk itu harus digunakan variabel

berindeks, yaitu X1, X2, X3, X4, X5, X6, X7, X8 dan X9. Berdasarkan jumlah dimensi indeks dalam sebuah

variabel array, dikenal adanya array dimensi satu, dimensi dua dan array dimensi banyak.

(9)

ARRAY ( Variabel Berindeks )

Beberapa hal penting yang harus diperhatikan bila ingin memasukkan deretan data kedalam variabel array adalah :

1. Tipe data yang akan disimpan kedalam variabel harus diketahui, karena variabel array numerik hanya dapat menerima data numerik dan variabel array string hanya dapat menerima data string.

2. Banyaknya data harus lebih kecil atau sama dengan jumlah subskrip ( indeks ) dari array tersebut.

3. Untuk memasukkan deretan data dalam suatu variabel indeks dapat digunakan intruksi perulangan.

4. Banyaknya indeks yang ditentukan menunjukkan banyaknya ruang memori yang dialokasikan, oleh karena itu dalam menentukan banyaknya indeks sebaiknya disesuaikan dengan banyaknya data sehingga tidak memboroskan pengalokasian ruang memori.

(10)
(11)

Contoh 2:

Perhatikan flowchart disamping, kemudian tentukan outputnya jika diketahui datanya 10,20,30,40 !

(12)

ARRAY ( Variabel Berindeks )

1. Array Dimensi Satu

Bentuk umum deklarasi array dimensi satu adalah :

DIM namavar ({cacah | awal to akhir}) [As tipe]

Keterangan:

Cacah : banyaknya elemen array Awal : nomor awal subskrib/index Akhir : nomor akhir subskrib/index Tipe : tipe data elemen array.

(13)

ARRAY DIMENSI SATU

Contoh :

DIM baristabel(5)

DIM baristabel(1 to 5)

DIM baristabel(5) As Integer

▪ Dari contoh deklarasi diatas maka akan disediakan ruang memori untuk array baristabel dengan jumlah elemen 5.

▪ Untuk mengoperasikan array digunakan subskrib.

Baristabel(1) = 40, Baristabel(2) = 30, Baristabel(3) = 100 Baristabel(4) = 80, Baristabel(5) = 75

(14)

Contoh:

▪ REM PROGARRAY1 DIM A(5)

LET A(1)=40 : A(2)=30 : A(3)=100 : A(4)=80 : A(5)=75 C = A(1) + A(2) + A(3) + A(4) + A(5)

PRINT A(1) , A(2) , A(3) , A(4) , A(5) PRINT “HASIL JUMLAH = “; C

END

Output:

40 30 100 80 75

HASIL JUMLAH = 325

Statement REM digunakan untuk menuliskan komentar yang tidak diproses oleh program.

(15)

ARRAY ( Variabel Berindeks )

2. Array Dimensi Dua

Bentuk umum deklarasi array dimensi 2 adalah :

DIM namavar (baris,kolom) [As tipe] atau

DIM namavar ( baris1 to baris2, kolom1 to kolom2) [As tipe]

Keterangan:

Namavar : nama variable yang akan dideklarasikan sebagai array dua

dimensi

Baris : cacah baris

(16)

ARRAY DIMENSI DUA

Contoh :

DIM M(2,3) atau DIM M( 1 to 2, 1 to 3)

Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array M dengan jumlah elemen 2 baris dan 3 kolom.

Untuk mengoperasikan array digunakan subskrib: M(1,1)=30, M(1,2)=50, M(1,3)=20,

(17)

Contoh:

▪ REM PROGARRAY2 DIM M(2,3) M(1,1)=30: M(1,2)=50: M(1,3)=20 M(2,1)=10: M(2,2)=10: M(2,3)=10 PRINT M(1,1) +M(2,2) PRINT M(2,3) END ▪ Output: 40 10

Statement REM digunakan untuk menuliskan komentar yang tidak diproses oleh program.

(18)

ARRAY ( Variabel Berindeks )

3. Array Dimensi Banyak

Bentuk umum deklarasinya :

DIM namavar (b,k,h,…,dn) [As tipe ] atau

DIM namavar (b1 to b2, k1to k2, h1 to h2,…, dn1 to dn2) [As tipe]

Keterangan:

Namavar : nama variable yang akan dideklarasikan sebagai array banyak

dimensi

Baris : cacah baris

(19)

ARRAY DIMENSI BANYAK

Contoh :

DIM M(2,3,4) atau

DIM M(1 to 2, 1 to 3, 1 to 4)

Dalam operasinya menggunakan subskrib 3 dimensi, yaitu : M(1,1,1),M(1,1,2),M(1,1,3),M(1,1,4) M(1,2,1),M(1,2,2),M(1,2,3),M(1,2,4) M(1,3,1),M(1,3,2),M(1,3,3),M(1,3,4) M(2,1,1),M(2,1,2),M(2,1,3),M(2,1,4) M(2,2,1),M(2,2,2),M(2,2,3),M(2,2,4) M(2,3,1),M(2,3,2),M(2,3,3),M(2,3,4)

(20)

ARRAY DIMENSI BANYAK

DIM Nam$(1 TO 5), Age(1 TO 5), ID$ (1 TO 5) FOR Count = 1 TO 5

INPUT “Enter Student’s name: ”, Nam$(Count) INPUT “Enter Student’s age: ”, Age(Count)

INPUT “Enter Student’s ID: ”, ID$(Count) NEXT

(21)

ARRAY DIMENSI BANYAK

CLS

FOR COUNT = 1 TO 5

INPUT Enter student s name: ”, Nam$(Count) INPUT “Enter student’s score: ”, Score(Count) NEXT Count

FOR COUNT = 1 TO 5

FinalScore(Count) = Score(Count) *2.5 NEXT Count

CLS

PRINT “Name”, “Score” ; TAB(22); “Final score” FOR COUNT = 1 TO 5

PRINT Nam$(Count), Score(Count), FinalScore(Count) NEXT Count

(22)

SUB PROGRAM (SUB RUTIN)

▪ Subprogram atau subrutin, dikembangkan untuk mempersingkat penulisan program.

▪ Kemudian tujuan penulisan subprogram menjadi berkembang. Sesuai dengan namanya maka subprogram adalah satu bagian dari program yang terpisah dari program utamanya.

Struktur program yang demikian disebut dengan struktur modular.

▪ Tujuan lain dari penulisan subprogram adalah dalam hal kemudahan pelacakan dan pembacaan sebuah program.

▪ Karena program tersusun atas modul-modul, dimana setiap modul biasanya tidak terlalu panjang, maka jika dalam sebuah modul terjadi kesalahan, kita tidak perlu melacak seluruh program, tetapi cukup kita lihat dari modul dimana kesalahan terjadi.

(23)

SUB PROGRAM (SUB RUTIN)

Secara garis besar sebuah program

yang berisi sub rutin, alur flowchartnya dapat digambar seperti gambar

(24)

SUB PROGRAM (SUB RUTIN)

Beberapa cara pemanggilan subrutin yaitu :

1. Statemen GOSUB RETURN

Misal GOSUB 200

Berarti memanggil Subrutin yang diawali dengan label 200 dan diakhiri dengan RETURN

2. Statemen FN

Subrutin yang dipanggil dengan fungsi FN ini harus diawali dengan statemen DEF FN dengan atau diakhiri dengan statemen END DEF

3. Satemen CALL

untuk memanggil subrutin yang diawali dengan SUB dan diakhiri dengan END SUB

4. Statemen FUNCTION

untuk memanggil subrutin yang diawali dengan FUNCTION dan diakhiri dengan END FUNCTION

(25)

CONTOH SUB PROGRAM (SUB RUTIN)

Berikut contoh program yang menggunakan kounter.

REM PROGKOUNTER1 DATA 2,4,6,8,999 C = 0 10 READ BIL IF BIL = 999 THEN 20 C = C + 1 GO TO 10 20 PRINT C END

Pada program di atas yang dimaksud variable kounter adalah C. Setiap kali statemen C = C + 1 dilaksanakan, maka harga C bertambah dengan 1.

(26)

CONTOH SUB PROGRAM 2 (SUB RUTIN)

REM PROG-GOSUB

10 LET N = 3 20 GO SUB 100

30 PRINT “KAMPUS A” 40 LET N = N+1 50 GO SUB 100 60 PRINT “KAMPUS D” 70 GO TO 130 100 LET X = N 110 PRINT X * X 120 RETURN 130 END Output : ?

(27)

Latihan

1. Buatlah sebuah program untuk menghasilkan laporan sbb: DAFTAR GAJI PEGAWAI

NAMA TOTAL GAJI ---INA 1500000 ANI 1300000 NIA 1250000 ANE 1000000 ANU 7500000

Dengan variable subskrib nama, gapok, tunjangan diinput dengan looping menggunakan teknik kounter. Total gaji diperoleh dari gapok ditambah

(28)

Jawaban

DIM NAMA$(5), GAPOK (5), TUNJ(5), TOTALGAJI(5) K= 1

10 INPUT “NAMA = “, NAMA$(K)

INPUT “GAJI POKOK = “,GAPOK(K) INPUT “TUNJANGAN = “,TUNJ(K)

TOTALGAJI(K) = GAPOK(K) + TUNJ(K) IF K=5 THEN 20

K = K + 1 GOTO 10

20 PRINT “DAFTAR GAJI PEGAWAI” PRINT

PRINT “ NAMA”;TAB(15);”TOTAL GAJI” PRINT “---“

FOR K = 1 TO 5

PRINT NAMA$(K);TAB(15);TOTALGAJI(K) NEXT K

(29)

Referensi

Dokumen terkait

Prosedur ini bertujuan untuk memastikan kemudahan pembelajaran yang disediakan sentiasa dalam keadaan baik untuk digunakan dan penambahbaikan kualiti sistem

Pertanggungjawaban pidana adalah kondisi terpenuhinya celaan yang objektif yang ada pada tindak pidana dan celaan yang subjektif kepada setiap orang yang

Akibat yang terlihat pada individu yang mengalami luka bakar merupakan hasil Akibat yang terlihat pada individu yang mengalami luka bakar merupakan hasil dari penyebab efek panas

Metode penelitian : Penelitian dilakukan dengan pendekatan kuantitatif Jenis penelitian adalah penelitian exsperimental, dengan menggunakan pendekatan quasi exsperimental

Rumah tangga merupakan salah satu tempat penggunaan produk produk industri, sehingga perlu dilakukan langkah langkah praktis untuk pencegahan terjadinya keracunan, disamping itu

Manajemen harus berusaha untuk mengidentifikasi risiko yang dapat mempengaruhi keberhasilan perusahaan. Proses identifikasi resiko memerlukan pembelajaran

Jadi, seseorang dianggap cacat mental jika ditandai: 1) tidak berkemampuan secara social dan tidak mampu mengelola dirinya sendiri sampai tingkat usia dewasa, 2) mental

(3) Rencana tindak untuk Pelampauan BMPK sebagaimana dimaksud pada ayat (1) yang disebabkan karena hal-hal sebagaimana dimaksud dalam Pasal 11 huruf a dan huruf