algoritma pemrograman 1a** (pp-011302:s1-ka) pertemuan...
TRANSCRIPT
![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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051321/5fef02636495c52e4d1ae3cb/html5/thumbnails/29.jpg)
TERIMAKASIH