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

ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ALGORITMA PEMROGRAMAN 1A**(PP-011302:S1-KA)

Pertemuan 6

Ahmad Hidayat

Page 2: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

TEKNIK PENGULANGAN/LOOPING/PEMUTARAN KEMBALI

▪ NESTED LOOP

▪ ARRAY ( Variabel Berindeks )

▪ SUB PROGRAM (SUB RUTIN)

Page 3: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

NESTED LOOP (Perulangan Bersarang)Nested loop adalah proses loop/pemutaran didalampemutaran lainnya dengan menggunakan lebih darisatu statement FOR-NEXT.

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

Page 4: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

NESTED LOOP (Perulangan Bersarang)

Syarat yang harus diperhatikan untuk operasi FOR-NEXTperulangan bersarang :

▪ Setiap perulangan tidak boleh menggunakan variabelcounter/index penghitung yang sama.

▪ Perulangan-perulangan tersebut tidak boleh salingberpotongan (overlapping), karena batas antarakeduanya tidak jelas.

Page 5: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

NESTED LOOP

Page 6: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

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

Page 7: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

Latihan

Page 8: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY ( Variabel Berindeks )

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

▪ Contoh suatu variabel berindeks adalah matriks. Misalkan matriks X berisi :

Untuk menyimpan nilai matriks X tidak dapat digunakansebuah variabel. Untuk itu harus digunakan variabelberindeks, yaitu X1, X2, X3, X4, X5, X6, X7, X8 dan X9.

Berdasarkan jumlah dimensi indeks dalam sebuahvariabel array, dikenal adanya array dimensi satu, dimensidua dan array dimensi banyak.

Page 9: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY ( Variabel Berindeks )

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

1. Tipe data yang akan disimpan kedalam variabel harus diketahui, karenavariabel array numerik hanya dapat menerima data numerik dan variabel arraystring 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 dapatdigunakan intruksi perulangan.

4. Banyaknya indeks yang ditentukan menunjukkan banyaknya ruang memoriyang dialokasikan, oleh karena itu dalam menentukan banyaknya indekssebaiknya disesuaikan dengan banyaknya data sehingga tidak memboroskanpengalokasian ruang memori.

Page 10: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

Contoh 1:

Page 11: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

Contoh 2:

Perhatikan flowchart disamping,

kemudian tentukan outputnya jika

diketahui datanya 10,20,30,40 !

Page 12: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

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.

Page 13: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

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 memoriuntuk array baristabel dengan jumlah elemen 5.

▪ Untuk mengoperasikan array digunakan subskrib.Baristabel(1) = 40, Baristabel(2) = 30, Baristabel(3) = 100Baristabel(4) = 80, Baristabel(5) = 75

Page 14: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

Contoh:

▪ REM PROGARRAY1DIM A(5)LET A(1)=40 : A(2)=30 : A(3)=100 : A(4)=80 : A(5)=75C = A(1) + A(2) + A(3) + A(4) + A(5) PRINT A(1) , A(2) , A(3) , A(4) , A(5)PRINT “HASIL JUMLAH = “; CEND

▪ Output:40 30 100 80 75HASIL JUMLAH = 325

▪ Statement REM digunakan untuk menuliskan komentar yang tidakdiproses oleh program.

Page 15: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY ( Variabel Berindeks )

2. Array Dimensi DuaBentuk umum deklarasi array dimensi 2 adalah :

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

Keterangan:

Namavar : nama variable yang akan dideklarasikan sebagai array duadimensi

Baris : cacah barisKolom : cacah kolom

Page 16: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

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 memoriuntuk 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,M(2,1)=10, M(2,2)=10, M(2,3)=10

Page 17: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

Contoh:▪ REM PROGARRAY2

DIM M(2,3) M(1,1)=30: M(1,2)=50: M(1,3)=20M(2,1)=10: M(2,2)=10: M(2,3)=10PRINT M(1,1) +M(2,2)PRINT M(2,3)END

▪ Output:40

10

▪ Statement REM digunakan untuk menuliskan komentar yang tidakdiproses oleh program.

Page 18: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY ( Variabel Berindeks )

3. Array Dimensi BanyakBentuk umum deklarasinya :

DIM namavar (b,k,h,…,dn) [As tipe ] atauDIM namavar (b1 to b2, k1to k2, h1 to h2,…, dn1 to dn2) [As tipe]

Keterangan:

Namavar : nama variable yang akan dideklarasikan sebagai array banyakdimensi

Baris : cacah barisKolom : cacah kolom

Page 19: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY DIMENSI BANYAK

Contoh :

DIM M(2,3,4) atauDIM 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)

Page 20: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY DIMENSI BANYAK

DIM Nam$(1 TO 5), Age(1 TO 5), ID$ (1 TO 5)FOR Count = 1 TO 5INPUT “Enter Student’s name: ”, Nam$(Count)INPUT “Enter Student’s age: ”, Age(Count)INPUT “Enter Student’s ID: ”, ID$(Count)NEXT

Page 21: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

ARRAY DIMENSI BANYAK

CLSFOR COUNT = 1 TO 5INPUT Enter student s name: ”, Nam$(Count)INPUT “Enter student’s score: ”, Score(Count)NEXT CountFOR COUNT = 1 TO 5FinalScore(Count) = Score(Count) *2.5NEXT CountCLSPRINT “Name”, “Score” ; TAB(22); “Final score”FOR COUNT = 1 TO 5PRINT Nam$(Count), Score(Count), FinalScore(Count)NEXT Count

Page 22: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

SUB PROGRAM (SUB RUTIN) ▪ Subprogram atau subrutin, dikembangkan untuk mempersingkat

penulisan program.

▪ Kemudian tujuan penulisan subprogram menjadi berkembang. Sesuaidengan 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 kemudahanpelacakan dan pembacaan sebuah program.

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

Page 23: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

SUB PROGRAM (SUB RUTIN)

Secara garis besar sebuah program

yang berisi sub rutin, alur flowchartnya

dapat digambar seperti gambar

disamping:

Page 24: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

SUB PROGRAM (SUB RUTIN) Beberapa cara pemanggilan subrutin yaitu :

1. Statemen GOSUB RETURNMisal GOSUB 200Berarti memanggil Subrutin yang diawali dengan label 200 dan diakhiridengan RETURN

2. Statemen FNSubrutin yang dipanggil dengan fungsi FN ini harus diawali dengan statemenDEF FN dengan atau diakhiri dengan statemen END DEF

3. Satemen CALLuntuk memanggil subrutin yang diawali dengan SUB dan diakhiri dengan END SUB

4. Statemen FUNCTIONuntuk memanggil subrutin yang diawali dengan FUNCTION dan diakhiridengan END FUNCTION

Page 25: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

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.

Page 26: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

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 : ?

Page 27: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

Latihan1. Buatlah sebuah program untuk menghasilkan laporan sbb:

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

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

Page 28: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

JawabanDIM NAMA$(5), GAPOK (5), TUNJ(5), TOTALGAJI(5)K= 110 INPUT “NAMA = “, NAMA$(K)INPUT “GAJI POKOK = “,GAPOK(K)INPUT “TUNJANGAN = “,TUNJ(K)TOTALGAJI(K) = GAPOK(K) + TUNJ(K)IF K=5 THEN 20K = K + 1GOTO 1020 PRINT “DAFTAR GAJI PEGAWAI”PRINTPRINT “ NAMA”;TAB(15);”TOTAL GAJI”PRINT “-----------------------------------“FOR K = 1 TO 5 PRINT NAMA$(K);TAB(15);TOTALGAJI(K)NEXT KEND

Page 29: ALGORITMA PEMROGRAMAN 1A** (PP-011302:S1-KA) Pertemuan 6ahmad_hidayat.staff.gunadarma.ac.id/Downloads/files/50650/Pert.+6... · NESTED LOOP (Perulangan Bersarang) Nested loop adalah

TERIMAKASIH