MODUL MATA KULIAH ALGORITMA DAN PEMROGRAMAN 2 STIMIK EL RAHMA JOGJAKARTA 2015

Ukuran: px
Mulai penontonan dengan halaman:

Download "MODUL MATA KULIAH ALGORITMA DAN PEMROGRAMAN 2 STIMIK EL RAHMA JOGJAKARTA 2015"

Transkripsi

1 MODUL MATA KULIAH ALGORITMA DAN PEMROGRAMAN 2 STIMIK EL RAHMA JOGJAKARTA 2015 JURUSAN : SISTEM INFORMASI SEMESTER GENAP 2015 MATA KULIAH : LOGIKA DAN ALGORITMA REVIEW DESKRIPSI SINGKAT MATA KULIAH Mata Kuliah ini bermaksud untuk mempelajari dasar dari langkah-langkah dalam membuat design/rancangan pemecahan masalah secara terstruktur. Rancangan pemecahan masalah ini lebih dikenal dengan nama Algoritma. Yang selanjutnya selanjutnya algoritma ini bisa diimplementasikan pada program, tidak bergantung bahasa pemrograman yang akan akan digunakan. MATERI MATA KULIAH 1. Pendahuluan ( Pengenalan Algoritma) 2. Struktur dasar Algoritma (Notasi, Kondisi, Aksi), nama dan harga 3. Tipe data dasar (Boolean, Integer, Real, Char, String) 4. Tipe Bentukan (Record, Procedure, Fungsi). 5. Pengkondisian (if_endif, if_else_endif, case_endcase) 6. Perintah Pengulangan (while_endwhile), (repeat_until) dan (for_endfor) 7. Procedure (variabel global dan lokal) dan parameter input, output dan input/output 8. Function (parameter input dan output) 9. Array (larik) DAFTAR PUSTAKA 1. Inggriani Liem, Algoritma dan Pemrograman, ITB, Knuth, Fundamental of Algorithm, Addison Wisley, Mewati Ayub, Ir Dasar-Dasar Pemrograman, DCI, Niklause Wirth, Algorithms + Data Structures = Programs, Prentice Hall, Antony Pranata, Algoritma dan Pemrograman,Graha Ilmu, Yogyakarta, Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Informatika, 2005

2 MATERI 4 NOTASI PENGKONDISIAN/PENCABANGAN Struktur runtunan hanya terdapat pada program sederhana. Pada umumnya masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi hanya dilakukan bila persyaratan atau kondisi tertentu dipenuhi. Pernyataan (statement) ataupun instruksi pada program, seringkali tidak hanya dilaksanakan sekali jalan saja, atau tanpa kondisi,akan tetapi : Pada bagian penting, perlu mempertimbangkan kondisi dan persyaratan agar dapat menempuh kelanjutan keputusan yang tepat. Tidak jarang menghadapi berbagai alternatif, dan harus menentukan pilihan yang memberikan penyelesaian dengan tepat. Struktur Kontrol Pertimbangan Kondisi dan Keputusan (Pencabangan) Adakalanya dalam kehidupan sehari-hari kita dihadapkan pada sebuah kondisi atau lebih, dimana kita harus memilih salah satunya. Begitu pula dengan program, pada suatu saat kita perlu membuat suatu aturan untuk melakukan pemilihan terhadap suatu kondisi, yang memungkinkan kita untuk membuat deretan instruksi yang sama, namun menghasilkan eksekusi yang berbeda-beda. Notasi Pencabangan adalah notasi yang pada umumnya akan menyelesaikan suatu kasus dengan beberapa alternatif pelaksanaan aksi. Mengapa dibutuhkan? Untuk membantu dalam menentukan alternatif solusi pelaksanaan aksi yang akan dilakukan berdasarkan kondisi yang telah ditentukan Penentuan kondisi dan aksi yang dilakukan bergantung pada jumlah kasus yang terdapat pada suatu masalah tersebut : satu kasus, dua kasus, atau bahkan lebih. Algoritma Notasi Pencabangan dibagi berdasarkan kasus: Satu Kasus (IF - THEN) Dua Kasus (IF THEN - ELSE) Tiga Kasus atau lebih (IF THEN ELSE, CASE) 4.1 SATU KASUS (IF - THEN) Notasi algoritma untuk analisis dengan satu kasus adalah dengan menggunakan konstruksi IF THEN (jika-maka) dalam bentuk : IF EndIf kondisi_dipenuhi (true) THEN Laksanakan_aksi Ket : Kondisi berupa ekspresi yang menghasilkan true atau false Aksi instruksi/pernyataan yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang bersangkutan dipenuhi/bernilai benar (true). Bila kondisi bernilai salah (false), tidak ada pernyataan apapun yang dikerjakan. Kata endif sengaja ditambahkan untuk mempertegas awal dan akhir struktur IF-THEN. Notasi Pascal : if kondisi_dipenuhi (true) then Laksanakan_aksi

3 Jika Aksi lebih dari satu buah, maka : if kondisi_dipenuhi (true) then begin Laksanakan_aksi contoh-contoh: (a) (b) (c) if x > 100 then x :=x+1 endif if kar = * then stop:=true endif if max >10 then max:=x endif Contoh Satu Kasus: Tulis algoritma yang membaca sebuah bilangan bulat dari suatu piranti masukan. Diminta mencetak pesan Bilangan genap jika bilangan tersebut genap.bilangan genap adalah bilangan yang habis dibagi 2. Program Genap Deklarasi : Bil : integer Write ( Masukan Bilangan : ) Read (Bil) If Bil mod 2 =0 Then Write ( Bilangan Genap ) Endif Pascal : Program Genap; Var Bil : integer; Begin Write ( Masukan Bilangan : ); Read (Bil); If Bil mod 2 =0 Then Write ( Bilangan Genap ); End. 4.2 DUA KASUS (IF THEN - ELSE) Notasi algoritma untuk analisis dengan dua kasus adalah dengan menggunakan konstruksi IF THEN - ELSE (jika-maka-kalau-tidak) dalam bentuk:

4 IF kondisi_dipenuhi (true) THEN Laksanakan_aksi1 Else {kondisi_tidak dipenuhi (false)} Laksanakan_aksi2 EndIf Notasi Pascal : (false)} if kondisi_dipenuhi (true) then Laksanakan_aksi1 else {kondisi_tidak dipenuhi Laksanakan_aksi2; Keterangan : Aksi1 dilaksanakan jika kondisi bernilai benar, sebaliknya jika kondisi bernilai salah maka Aksi2 akan dilaksanakan, bisa diperhatikan bahwa else menyatakan ingkaran (negation) dari kondisi. Contoh-contoh: (a) if a>0 then write( bilangan positif ) else write( bukan bilangan positif ) endif (b) if (k mod 2 = 0) then write( bilangan genap ) else write( bilangan ganjil ) endif Contoh Dua Kasus: Tulislah program yang membaca sebuah bilangan bulat dari suatu piranti masukan. Diminta mencetak pesan Bilangan genap jika bilangan tersebut adalah genap, atau Bilangan ganjil jika bilangan tersebut adalah ganjil. Program Genap_Ganjil Deklarasi : Bil : integer Write ( Masukan Bilangan : ) Read (Bil) If Bil mod 2 =0 Then Write ( Bilangan Genap ) Else Write ( Bilangan Ganjil ) Endif Pascal : Program Var Genap_Ganjil;

5 Begin end. Bil : integer; Write ( Masukan Bilangan : ); Read (Bil); If Bil mod 2 =0 Then Write ( Bilangan Genap ) Else Write ( Bilangan Ganjil ); 4.3 TIGA KASUS Atau Lebih Notasi algoritma untuk analisis dengan tiga kasus atau lebih adalah dengan menggunakan konstruksi IF THEN - ELSE bertingkat-tingkat dalam bentuk : IF kondisi1_dipenuhi (true) THEN Laksanakan_aksi1 Else IF kondisi2_dipenuhi THEN Laksanakan_aksi2 Else IF kondisin_dipenuhi THEN Laksanakan_aksiN Else Laksanakan_aksi_lain EndIf EndIf EndIf Contoh Tiga Kasus Atau Lebih: Tulislah program yang membaca sebuah bilangan bulat, lalu menentukan apakah bilangan tersebut positif, negatif, atau nol. Program Cek_Bilangan Deklarasi : Bil : integer Write ( Masukan Bilangan : ) Read (Bil) If Bil > 0 Then Write ( Bilangan Positif ) Else If Bil < 0 Then Write ( Bilangan Negatif ) Else Write ( Bilangan Nol ) Endif Endif Pascal : Program Cek_Bilangan; Var Bil : integer; Begin Write ( Masukan Bilangan : );

6 end. Readln (Bil); If Bil > 0 Then Write ( Bilangan Positif ) Else If Bil < 0 Then Write ( Bilangan Negatif ) Else Write ( Bilangan Nol ); 4.4 Struktur Kontrol Pemilihan Alternatif (Case ) Untuk masalah dengan dua kasus atau lebih, struktur CASE, dapat menyederhanakan penulisan if_then_else. CASE... OF... merupakan struktur kontrol pemilihan alternatif, dimana dapat dipilih salah satu pelaksanaan aksi diantara sejumlah alternatif kondisi yang disajikan. Notasi Algoritmik : CASE <ekspresi> OF Alternatif_Kondisi1 : laksanakan_aksi1 Alternatif_Kondisi2 : laksanakan_aksi2 EndCase Alternatif_KondisiN : laksanakan_aksin Otherwise Laksanakan_aksi_lain Ket : Ekspresi adalah sembarang ekspresi (aritmetika atau Boolean) yang menghasilkan suatu nilai (Konstanta). CASE memeriksa apakah nilai dari ekspresi tersebut sama dengan salah satu dari : Alternatif_Kondisi1, Alternatif_Kondisi2,.Alternatif_KondisiN Jika nilai ekspresi sama dengan alternatif kondisi k, maka laksanakan_aksi k Jika tidak ada satupun nilai ekspresi yang cocok, maka pernyataan sesudah Otherwise dikerjakan. Otherwise bersifat opsional, artinya boleh ditulis atau tidak didalam konstruksi CASE. Notasi Pascal : case <ekspresi> of Alternatif_Kondisi1 : laksanakan_aksi1 Alternatif_Kondisi2 : laksanakan_aksi2 Alternatif_KondisiN : laksanakan_aksin else Laksanakan_aksi_lain Keterangan : Alternatif_Kondisi1, Alternatif_Kondisi2,.Alternatif_KondisiN adalah

7 nilai yang bertipe integer, char, atau boolean. Contoh: Tulislah Algoritma yang membaca seluruh bilangan bulat yang nilainya terletak antara 1 sampai 4, lalu menuliskannya ke piranti keluaran. Misalnya : input =1, maka output= satu Solusi STRUKTUR IF-THEN-ELSE PROGRAM KonversiAngka Teks {mencetak kata untuk angka 1 sampai 4} DEKLARASI: angka:integer ALGORITMA read(angka) if angka=1 then write ( satu ) else if else if angka=2 then write( dua ) else angka=3 then write( tiga ) if angka=4 then write( empat ) else write( angka yang dimasukan salah ) endif endif endif endif Solusi STRUKTUR CASE...OF Program Angka Deklarasi : A: integer Write ( Masukan Angka 1-4 : ) Read (A) Case A Of 1 : Write ( Satu ) 2 : Write ( Dua ) 3 : Write ( Tiga ) 4 : Write ( Empat ) Otherwise Write ( Angka yang anda masukan salah! ) EndCase

8 Pascal : Program Angka; Var A : integer; Begin Write ( Masukan Angka 1-4 : ); Readln (A); Case A Of 1 : Write ( Satu ); 2 : Write ( Dua ); 3 : Write ( Tiga ); 4 : Write ( Empat ); Else Write ( Angka yang anda masukan salah! ); end. LATIHAN 1. Buatlah algoritma untuk membaca sebuah karakter dan menentukan karakter yang dimasukan adalah karakter A atau bukan! 2. Buatlah algoritma untuk membaca sebuah bilangan bulat dari suatu papan ketik, lalu mencetak pesan bahwa Bilangan tersebut lebih besar dari 100 jika bilangan tersebut adalah lebih besar dari 100! 3. Buatlah algoritma yang membaca angka tahun masehi dari papan ketik, lalu menentukan apakah tahun tersebut merupakan tahun kabisat! 4. Buatlah algoritma untuk menentukan bilangan yang dimasukan adalah habis dibagi 5, jika bilangan tersebut habis dibagi 5 maka pesan tertulis bilangan habis dibagi 5 jika tidak bilangan tidak habis dibagi 5! 5. Buat Algoritma untuk membaca temperature air T (dalam satuan derajat celcius) pada tekanan normal, lalu menentukan apakah wujud air tersebut dalam keadaan padat (T 0 C), Cair (0 C < T <100 C) atau Gas ( T 100 C) 6. Buat algoritma untuk menghitung Nilai Akhir : - Input : Nilai UTS,UAS,Quiz,Tugas - Nilai= Tugas* Quiz*0.2 + UTS*0.3+ UAS*0.4 - Dengan IF then Else tentukan Nilai akhir dimana : 80 Nilai 100 Indeks A 70 Nilai < 80 Indeks B 55 Nilai < 70 Indeks C 40 Nilai < 55 Indeks D 0 Nilai < 40 Indeks E - Output : Tugas, Quiz, UTS, UAS, Nilai, Nilai_Akhir 7. PT XYZ membutuhkan suatu program untuk perhitungan gaji pegawai dengan ketentuan sebagai berikut:

9 Gol GajiPokok UpahLembur Tunjangan Ppn I % * Gaji Pokok 5% II % * Gaji Pokok 3% III % * Gaji Pokok 2% IV % * Gaji Pokok 1% Potongan pajak adalah ppn * GajiPokok Para pegawai bekerja selama 150 jam, bila melebihi jam tersebut maka dihitung lembur, kemudian pegawai yang sudah menikah mendapatkan Tunjangan sebesar 15% dari GajiPokok Berdasarkan ketentuan tersebut, buatlah Algoritma untuk menyelesaikan permasalah tersebut! Output yang diminta yaitu : NIK, Nama, Gol dan Gaji Bersih Rumus : 1. GajiBersih := (GajiPokok+Tunjangan) Potongan 2. GajiBersih := ((GajiPokok+Tunjangan)+(JamLembur*UpahLembur))-Potongan

10 MATERI 5 NOTASI PENGULANGAN Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemampuannya untuk mengulang suatu instruksi, bahkan aksi, secara berulang-ulang dengan performansi yang sama. Berbeda dengan manusia yang cenderung melakukan kesalahan jika melakukan hal yang sama karena lelah atau bosan. Struktur pengulangan secara umum terdiri dari dua bagian : 1. Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara ekplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit). 2. Badan pengulangan, yaitu aksi/pernyataan yang harus diulang selama kondisi yang ditentukan untuk pengulangan masih dipenuhi. Disamping itu, struktur pengulangan biasanya disertai dengan bagian : 1. Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. 2. Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan. Insialisasi dan terminasi tidak selalu harus ada, namun pada berbagai kasus inisisalisasi umumnya diperlukan. Struktur pengulangan secara umum : <inisialisasi> awal pengulangan badan pengulangan akhir pengulangan <terminasi> Pengulangan harus berhenti, ini yang harus dijamin oleh pemrogram. Karena algoritma yang tidak pernah berhenti/pengulangan yang terus menerus (looping) adalah algoritma yang salah. Struktur Kontrol pengulangan terdiri dari : a. Pernyataan FOR b. Pernyataan WHILE a. Pernyataan REPEAT 5.1 Pernyataan FOR Adalah pengulangan yang paling sederhana. Pengulangan ini dipakai jika kita mengetahui berapa kali pengulangan akan dilakukan. Bentuk umum pernyataan FOR ada dua macam, yaitu menaik (ascending) atau menurun (descending). FOR menaik Bentuk umum struktur kontrol FOR menaik ini, dapat dirumuskan dengan : Notasi Algoritmik : FOR (nama_pencacah nilai_awal) TO (nilai_akhir) DO EndFor (aksi/pernyataan)

11 Keterangan: Aksi/pernyataan adalah satu atau lebih instruksi yang diulang. Keterangan: Nilai_awal dan nilai_akhir pada umumnya bilangan integer atau karakter, asal nilai_akhir nilai_awal Pengulangan dilaksanakan berulang-ulang tanpa kondisi atau syarat apapun dengan jumlah ulangan= nilai_akhir nilai_awal + 1 Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah = nilai_akhir. Notasi Pascal : for (nama_pencacah:=nilai_awal) to (nilai_akhir) do begin (aksi/pernyataan) End; Contoh : Misalkan kita ingin mencetak angka 1 sampai 10, maka algoritma dan programnya adalah : Algoritmik : Program Tulis_nomor Deklarasi : nomor: integer FOR nomor 1 To 10 DO EndFor write(nomor) Pascal : Program Tulis_nomor; Var nomor : integer; Begin for nomor:= 1 to 10 do end. writeln(nomor); FOR menurun Bentuk umum struktur kontrol FOR menurun ini, dapat dirumuskan dengan :

12 Notasi Algoritmik : FOR (nama_pencacah nilai_awal) DOWNTO (nilai_akhir) DO EndFor (aksi/pernyataan) Keterangan: Aksi/pernyataan adalah satu atau lebih instruksi yang diulang. Nilai_awal dan nilai_akhir pada umumnya bilangan integer atau karakter, asal nilai_awal nilai_akhir Pengulangan dilaksanakan berulang-ulang tanpa kondisi atau syarat apapun dengan jumlah ulangan= nilai_awal nilai_akhir + 1. Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis berkurang satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah = nilai_akhir. Notasi Pascal : for (nama_pencacah:=nilai_awal) downto (nilai_akhir) do begin (aksi/pernyataan) Contoh : Misalkan kita ingin meghitung mundur angka dari 10 sampai 1, maka algoritma dan programnya adalah : Algoritmik : Program hitung_mundur Deklarasi : nomor: integer FOR nomor 10 Downto 1 DO EndFor write(nomor) Pascal : Program Hitung_mundur; Var nomor : integer; Begin for nomor:= 10 downto 1 do end. writeln(nomor); 5.2 Pernyataan WHILE Bentuk umum struktur kontrol WHILE dapat dirumuskan dengan :

13 WHILE (kondisi_pengulangan) DO (aksi/pernyataan) EndWhile Keterangan: Pengulangan bisa tidak dilakukan, jika pada saat awal, kondisi_pengulangan tidak terpenuhi (false). Tidak mengetahui berapa kali pengulangan akan dikerjakan Kondisi pengulangan akan diperiksa sebelum masuk ke aksi / pernyataan. Pengulangan akan dilaksanakan berulang-ulang jika kondisi_pengulangan dipenuhi (true). Di dalam pernyataan, harus ada instruksi yang mengubah nilai kondisi agar pengulangan berhenti. Notasi Pascal : while (kondisi_pengulangan) do begin (aksi/pernyataan) Contoh : Buat algoritma/program untuk menampilkan angka sesuai dengan angka yang di-input dari keyboard. Program akan berhenti jika user meng-input angka 0 ; Algoritmik : Program CetakAngka Deklarasi : i,angka: integer write('masukan angkanya: ') read(angka) i 1 While (angka 0) do write( Angka yang anda input:, angka) write('masukan angkanya: ') read(angka) i i+1 EndWhile Pascal : Program CetakAngka; Var i, angka : integer; Begin write('masukan angkanya: '); readln(angka);

14 end. i:=1; While (angka <> 0) do Begin writeln( Angka yang anda input:, angka); write('masukan angkanya: '); readln(angka); i i+1; end 5.3 Pernyataan REPEAT Bentuk umum struktur kontrol REPEAT dapat dirumuskan dengan : REPEAT (aksi/pernyataan) UNTIL (kondisi_berhenti) Keterangan: Aksi / pernyataan akan dikerjakan minimal satu kali, karena pernyataan dilaksanakan terlebih dahulu kemudian baru diperiksa kondisi berhenti. Aksi / pernyataan akan dikerjakan berulang-ulang dan akan berhenti jika kondisi berhenti terpenuhi Tidak mengetahui berapa kali pengulangan akan dikerjakan Di dalam pernyataan, harus ada instruksi yang mengubah nilai kondisi agar pengulangan berhenti.. Notasi Pascal : repeat begin (aksi/pernyataan) until (kondisi_berhenti) Contoh : Buat algoritma/program untuk menampilkan menu masakan sebagai berikut : Menu Masakan 1. Ayam Goreng 2. Ayam Tulang Lunak 3. Ayam Bakar 4. Keluar Dan membaca nomor pilihan menu yang diinput oleh user. Kemudian tampilkan pesan nomor menu yang di-input. Misalnya : input : 1 Output : Anda memilih Ayam Goreng sesuai dengan Algoritmik :

15 Program Memilih_Menu Deklarasi : pilihan : char Repeat write( Menu Masakan ) write( 1.Ayam Goreng ) write( 2. Ayam Tulang Lunak ) write( 3. Ayam Bakar ) write( 4. Keluar ) write( Masukan pilihan anda: ) read (pilihan) case pilihan of 1 : write ( Anda memilih Ayam Goreng ) 2 : write ( Anda memilih Ayam Tulang lunak ) 3 : write ( Anda memilih Ayam Bakar ) 4 : exit else ( Menu yang anda pilih salah ) endcase Until (pilihan= 4 ) Pascal : Program MemilihMenu; Var pilihan : char; Begin Repeat writeln( Menu Masakan ); writeln( 1.Ayam Goreng ); writeln( 2. Ayam Tulang Lunak ); writeln( 3. Ayam Bakar ); writeln( 4. Keluar ); write( Masukan pilihan anda: ); readln (pilihan); case pilihan of 1 : writeln ( Anda memilih Ayam Goreng ); 2 : writeln ( Anda memilih Ayam Tulang lunak ); 3 : writeln ( Anda memilih Ayam Bakar ); 4 : exit; else writeln( Menu yang anda pilih salah ); Until (pilihan= 4 ); end. Kesimpulan : FOR digunakan untuk proses pengulangan yang jumlah pengulangannya dapat diketahui diawal. WHILE fungsinya sama seperti FOR, tetapi WHILE juga dapat digunakan untuk proses yang jumlah pengulangannya tidak dapat ditentukan sebelum eksekusi. REPEAT fungsinya sama seperti WHILE, kita dapat menggunakan WHILE maupun REPEAT untuk masalah-masalah tertentu. Tetapi, pada beberapa masalah, pemilihan WHILE atau REPEAT bergantung kepada persoalannya. Ini artinya, ada masalah yang hanya benar bila menggunakan struktur WHILE, tetapi bisa fatal bila menggunakan REPEAT. Untuk mengetahui struktur mana yang lebih tepat, kita harus mengetahui perbedaannya, yaitu : Pada Konstruksi REPEAT, kondisi pengulangan diperiksa pada akhir pengulangan. Jadi instruksi di dalam badan pengulangan dilaksanakan dulu, baru pemeriksaan kondisi dilakukan.

16 Konsekuensinya badan pengulangan dilaksanakan paling sedikit satu kali. Pada konstruksi WHILE, kondisi pengulangan diperiksa di awal pengulangan. Jadi instruksi didalam badan pengulangan hanya dapat dilaksanakan jika pemeriksaan kondisi menghasilkan nilai true. Konsekuensinya badan pengulangan mungkin tidak akan pernah dilaksanakan, bila kondisi pengulangan pertama kali bernilai false. Jadi : Gunakan konstruksi WHILE pada kasus yang mengharuskan terlebih dahulu pemeriksaan kondisi objek sebelum objek tersebut dimanipulasi Gunakan konstruksi REPEAT pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa kondisi objek tersebut. Latihan 1. Tuliskanlah algoritma untuk menentukan nilai terkecil dari N buah data integer yang dibaca dari papan ketik. Nilai N dibaca terlebih dahulu (N>0) 2. Buat algoritma/program untuk menampilkan kata Saya sedang belajar pemrograman sebanyak 50 kali. 3. Buat algoritma/program untuk menulis angka deret tambah mulai dari angka 0 hingga 100 dengan pertambahan 10. Sehingga tampilan output di layar : (dengan selang 2 spasi diantara angka-angka itu). 4. Buat algoritma/program untuk menampilkan jumlah angka 20 bilangan asli pertama. Bilangan asli adalah bilangan bulat dimulai dari 1,2,3,. 5. Buat algoritma/program untuk membuat Daftar telepon. Daftar Telepon berisi Nama dan No.Telp. Pertama kali dibaca berapa jumlah data Nama dan No.Telp yang akan diinput, kemudian masukan data Nama dan No.Telp sesuai dengan jumlah data yang dibaca dari keyboard. 6. Buat algoritma/program untuk menghitung nilai rata-rata dari N buah data bilangan bulat yang dibaca dari keyboard. Nilai rata-rata adalah jumlah seluruh data dibagi dengan banyaknya data. Misalnya, jika N=5 dan data bilangan yang dibaca berturut-turut adalah 2,5,3,4,2 maka nilai rata-ratanya adalah ( )/5=16/5= Buat algoritma untuk memeriksa apakah password dari suatu kartu ATM diterima atau ditolak. Pakailah flag Ok bertipe Boolean. Buatlah password sebagai konstanta= Pemasukan password boleh diulang sampai 3x. Jika password benar, Output : PIN benar, lanjutkan proses Jika password salah, Output : PIN salah, ulangi lagi Jika password 3x salah, Output : Kartu ditolak! 5.4 MESIN ABSTRAK Mesin abstrak menggambarkan dalam suatu mesin terdapat pita yang bertipe karakter dan tipe numerik. Jika Pita bertipe karakter maka akhir dari pita tersebut ditandai dengan. atau * Jika Pita bertipe numerik maka diakhiri dari pita tersebut ditandai dengan 9999 Jika Pita hanya berisi akhiran., * dan 9999 berarti pita kosong Contoh : Pita Karakter S A Y A * Read (Baca) Arah pembacaannya

17 Notasi Algoritma Pita bertipe karakter {inisialisasi} read(x) while x * do aksi read(x) {dibaca kembali isi mesin karakter} endwhile {terminasi} Pita bertipe numerik {inisialisasi} read(x) while x 9999 do aksi read(x) {dibaca kembali isi mesin numerik} endwhile {terminasi} Contoh Kasus untuk Mesin Karakter Contoh 1: Didalam pita karakter terdapat sederatan karakter yang diakhiri dengan tanda *, tuliskan algoritma untuk menampilkan deretan karakter tersebut! illustrasi S A Y A * PROGRAM MenampilkanKarakter {Menghitung jumlah karakter yang dimasukan} DEKLARASI x : char {data character yang dibaca dari papan ketik} ALGORITMA read(x) {baca data character} while x * do write(x) read(x) endwhile {x = * } {kondisi setelah pengulangan berhenti} Contoh 2: Didalam pita karakter terdapat sederatan karakter yang diakhiri dengan tanda *, tuliskan algoritma untuk menghitung jumlah karakter yang dimasukan! illustrasi S A Y A * Jumlah karakter adalah : 4 PROGRAM HitungJumlahKarakter {Menghitung jumlah karakter yang dimasukan} DEKLARASI x : char {data character yang dibaca dari papan ketik} jumlah : integer ALGORITMA

18 read(x) {baca data character} jumlah 0 {inisialisasi} while x * do jumlah jumlah + 1 read(x) endwhile {x = * } {kondisi setelah pengulangan berhenti} write(jumlah) Contoh Kasus untuk Mesin Numerik Contoh 1: Diberikan mesin bertipe integer yang terdapat sederetan angka numerik yang dimasukan dan diakhiri dengan tanda tuliskan algoritma untuk menghitung jumlah seluruh angka tersebut! illustrasi Jumlah seluruh angka tersebut adalah : 10 PROGRAM HitungJumlahAngka {Menghitung jumlah seluruh bilangan yang dimasukan} DEKLARASI x : integer {data integer yang dibaca dari papan ketik} jumlah : integer ALGORITMA read(x) {baca data integer} jumlah 0 {inisialisasi} while x 9999 do jumlah jumlah + x read(x) endwhile {x = 9999} {kondisi setelah pengulangan berhenti} write(jumlah) Contoh 2: Diberikan mesin bertipe integer yang terdapat sederetan angka numerik yang dimasukan dan diakhiri dengan tanda tuliskan algoritma untuk menghitung banyaknya angka positif dari deretan angka tersebut! illustrasi Jumlah angka positif adalah : 2 PROGRAM BanyaknyaAngkaPositif {Menghitung jumlah bilangan positif yang dimasukan} DEKLARASI x : integer {data integer yang dibaca dari papan ketik}

19 jumlah : integer ALGORITMA read(x) {baca data integer} jumlah 0 {inisialisasi} while x 9999 do if x > 0 then jumlah jumlah + 1 endif read(x) endwhile {x = 9999} {kondisi setelah pengulangan berhenti} write(jumlah) LATIHAN Mesin Karakter 1. Diberikan mesin bertipe karakter yang terdapat sederetan karakter yang dimasukan dan diakhiri tanda *. Tuliskan algoritma untuk menghitung karakter A yang dimasukan! Ilustrasi Jumlah karakter A : 2 M A K A N * 2. Tuliskan algoritma untuk menghitung jumlah kemunculan pasangan huruf an di dalam mesin karakter. Misalkan pada contoh dibawah ini jumlah an ada 3 buah (ditandai dengan arsiran.) Ilustrasi P A N D A N G A N * Jumlah an adalah : 3 3. Tuliskan Algoritma untuk menghitung banyaknya kata di dalam pita karakter. Kata adalah deretan karakter bukan spasi yang diakhiri dengan spasi atau titik. Ilustrasi Mesin Integer Jumlah Kata adalah : 3 1. Diberikan mesin bertipe integer yang terdapat sederetan angka numerik yang dimasukan dan diakhiri dengan tanda tuliskan algoritma untuk menghitung nilai rata-rata angka tersebut! illustrasi H A R I I N I H U J A N. * Diberikan mesin bertipe integer yang terdapat sederetan angka numerik yang dimasukan dan

20 diakhiri dengan tanda tuliskan algoritma untuk menghitung jumlah bilangan genap saja! illustrasi 3. Diberikan mesin bertipe integer yang terdapat sederetan angka numerik yang dimasukan dan diakhiri dengan tanda tuliskan algoritma untuk menghitung jumlah angka 10 saja! illustrasi

21 MATERI 6 PROCEDURE DAN FUNCTION Program yang besar lebih sulit dimengerti dan lebih sulit lagi dalam melakukan pelacakan kesalahan (Jika ada). Oleh karena itu, program sebaiknya dipecah menjadi beberapa sub program yang lebih kecil. Setiap sub program melakukan komputasi yang spesifik. Sub program yang baik adalah sub program yang independent dari program utama, sehingga programnya dapat dirancang tanpa mempermasalahkan bagaimana sub program tersebut dilakukan, tetapi cukup memikirkan apa yang ia lakukan. Sub program yang bagus menyembunyikan detil operasi dari bagian program yang tidak perlu tahu tentang sub-program tersebut. Teknik pemecahan program menjadi sejumlah sub program dinamakan teknik pemrograman modular. Modular artinya penyelesaian seluruh masalah dapat dipecah-pecahkan dengan unsur-unsur langkah penyelesaian spesifik berbentuk modul yang berwujud prosedur (procedure) dan fungsi (function). Keuntungan Pemrograman Modular Untuk aktivitas yang harus dilakukan lebih dari satu kali, modularisasi menghindari penulisan teks program yang sama secara berulangkali. Disini sub-program cukup ditulis sekali saja, lalu sub-program dapat dipanggil dari bagian lain di dalam program. Disini, penggunaan sub-program dapat mengurangi panjang program. Kemudahan menulis dan menemukan kesalahan (debug) program. Kemudahan menulis akan sangat berguna pada masalah besar yang dikerjakan oleh satu tim pemrogram yang beranggotakan beberapa orang. Masalah yang akan diprogram dipecah menjadi beberapa masalah yang lebih kecil. Setiap masalah yang lebih kecil tesebut ditulis kedalam modul yang spesifik dan dikerjakan oleh orang yang berbeda. Satu modul bisa berisi dari satu atau lebih sub-program. Seluruh modul diintegrasikan menjadi satu buah program yang lengkap.program yang modular menjadi lebih mudah untuk dibaca dan dimengerti. Program yang tidak modular sulit dipahami, khususnya kalau program tersebut panjang atau terdiri dari puluhan, ratusan, atau ribuan baris instruksi. Karena setiap sub-program melakukan aktivitas spesifik, maka apabila terdapat kesalahan di dalam program, kesalahan tersebut cukup dilokalisir di dalam sub-program yang bersangkutan. Kebanyakan program komputer ditulis modular, meskipun program tersebut tidak melibatkan ekseskusi yang berulang dari aktivitas yang sama. Pemecahan program menjadi modul-modul yang lebih kecil umumnya dianggap sebagai praktik pemrograman yang baik dan terstruktur. Terdapat 2 bentuk sub-program, yaitu prosedur (procedure) dan fungsi (function). Dimana struktur setiap sub-program tersebut pada hakikatnya sama dengan struktur program biasa, yaitu ada bagian judul (header) yang berisi nama modul, bagian deklarasi, dan badan (body) program yang berisi instruksi yang akan dilaksanakan. Variabel Global dan Variabel Lokal Variabel global adalah variabel yang dapat dipakai diseluruh program, di program utama atau di dalam procedure atau function. Variabel lokal hanya dapat dipakai di tempat pendefinisiannya. Jika variabel lokal didefinisikan didalam procedure, maka hanya procedure tersebut yang mengenalnya. Suatu variabel atau peubah akan dideklarasikan global atau local tergantung kepada penggunaan nama tersebut. Jika suatu variabel digunakan di seluruh bagian program (termasuk di dalam prosedur), maka variabel tersebut harus dideklarasikan global. Sebaliknya, jika variabel tersebut hanya digunakan di dalam prosedur/function saja, maka nama variabel sebaiknya dideklarasikan sebagai variabel lokal saja, meskipun bila dideklarasikan global pun masih tetap benar. Usahakanlah menggunakan variabel global sesedikit mungkin. Penggunaan variabel lokal akan memberikan keuntungan, sebab variabel lokal membuat program lebih elegan, dan dapat meminimumkan

22 usaha pencarian kesalahan yang disebabkan oleh nama tersebut, karena variabel lokal hanya dipakai di dalam lingkup procedure atau function saja. Procedure/function yang baik adalah yang independen dari program pemanggilnya. Pernyataan ini menyiratkan bahwa procedure/function yang baik tidak menggunakan variabel-varibel global di dalam badan procedur / function-nya. Jika program utama perlu mengkomunikasikan nilai variabel global ke dalam procedure/fucntion, maka ada satu cara untuk melakukannya yaitu dengan menggunakan parameter. Karena parameter dapat mengurangi kebutuhan penggunaan variabel global. 6.1 Parameter Kebanyakan program memerlukan informasi antara procedure ( atau fungsi) dimana ia dipanggil. Penggunaan parameter menawarkan mekanisme pertukaran informasi tersebut. Tiap item data ditransfer antara parameter actual dan parameter formal yang bersesuaian. Parameter actual adalah parameter yang disertakan pada waktu pemanggilan, sedangkan parameter formal adalah parameter yang dideklarasikan didalam bagian header procedure/function itu sendiri. Ketika procedure/function dipanggil, parameter actual menggantikan parameter formal. Tiap-tiap parameter actual berpasangan dengan parameter formal yang bersesuaian. Berdasarkan maksud penggunaannya, terdapat tiga jenis parameter formal yang disertakan didalam procedure/function, yaitu : a. Parameter masukan (input) parameter yang nilainya berlaku sebagai masukan untuk procedure/function. b.parameter keluaran (output) parameter yang menampung keluaran yang dihasilkan oleh procedure. c.parameter masukan/keluaran (input/output parameter) parameter yang berfungsi sebagai masukan sekaligus keluaran bagi procedure tersebut. Dalam function hanya ada parameter masukan saja. Bila procedure menghasilkan keluaran yang digunakan oleh program pemanggil, gunakan parameter keluaran untuk menampung keluaran tersebut. Sebaliknya, bila procedure tidak menghasilkan keluaran, atau kalaupun menghasilkan keluaran dan ternyata keluaran tersebut hanya digunakan di dalam procedure itu saja, gunakan parameter masukan. Bila procedure menerima masukan sekaligus keluaran pada parameter yang sama, gunakan parameter masukan/keluaran. Aturan penting yang harus diamati dalam korespondensi satu-satu antara parameter actual dan parameter formal adalah : a. Jumlah parameter actual pada pemanggilan procedure/function harus sama dengan jumlah parameter formal pada deklarasi procedure/function-nya. b. Tiap parameter actual harus bertipe sama dengan tipe parameter formal yang bersesuaian. 6.2 PROCEDURE (PROSEDUR) Procedure adalah modul program yang mengerjakan tugas/aktivitas yang spesifik dan menghasilkan suatu efek netto. Pada beberapa bahasa pemrograman, procedure dikenal dengan nama subroutine. Atau lebih jelasnya, procedure merupakan sekumpulan instruksi yang dibungkus yang akan dipakai / dipanggil dalam program utama. Ini berarti, instruksi-instruksi didalam procedure baru dapat dilaksanakan hanya bila procedure tersebut diakses. Struktur Procedure : Notasi Algoritmik :

23 Procedure NamaProcedure(deklarasi parameter,jika ada) {Spesifikasi procedure, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini, keadaan sebelum prosedur dijalankan dan setelah prosedur dijalankan} Deklarasi : {Semua nama yang dipakai dalam prosedur didefinisikan disini dan hanya berlaku lokal di dalam prosedur} {Badan prosedur, berisi kumpulan instruksi} Notasi Pascal : Procedure NamaProcedure(deklarasi parameter,jika ada); {Spesifikasi procedure, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini, keadaan sebelum prosedur dijalankan dan setelah prosedur dijalankan} (* Deklarasi *) var {Semua nama yang dipakai dalam prosedur didefinisikan disini dan hanya berlaku lokal di dalam prosedur} (*Algoritma*) begin {Badan prosedur, berisi kumpulan instruksi} Keterangan : Dalam bahasa Pascal, pendefinisian prosedur ditulis bersatu di dalam program utama, kecuali jika direalisasikan sebagai unit. Prosedur diletakkan dibawah kata var. Bahasa Pascal memungkinkan prosedur mempunyai parameter masukan, parameter keluaran, dan parameter masukan/keluaran. Parameter formal yang bertipe keluaran atau masukan/keluaran harus diawali dengan kata kunci var, sedangkan untuk parameter formal yang bertipe masukan tidak diawali dengan kata kunci var. Argumen parameter aktual dilewatkan ke parameter formal bertipe masukan sebagai by value, sedangkan bila parameter formalnya bertipe keluaran atau masukan/keluaran, maka argumen parameter aktual dilewatkan sebagai By reference Contoh procedure : Algoritmik:

24 Procedure Luas_Segitiga {Procedure tanpa parameter) Deklarasi : {Variabel Lokal} alas,tinggi,luas: real write('masukan alas segitiga: ') read(alas) write('masukan tinggi segitiga: ') read(tinggi) luas (alas*tinggi)/2 write('luas segitiga: ',luas) Procedure Tukar1 ( input A,B :integer) {Procedure dengan 2 parameter input) Deklarasi : Temp:integer Temp A A B B Temp Procedure Maksimum ( input A,B:integer; output Maks:integer) {Procedure dengan 2 parameter input dan 1 parameter output) if A>B then maks A else maks B endif Procedure Tukar2 ( input /output A,B :integer) {Procedure dengan 2 parameter input/output) Deklarasi : Temp:integer Temp A A B B Temp

25 Program Contoh_Prosedur Deklarasi : x,y,maksi:integer Procedure Luas_Segitiga Procedure Tukar1 ( input A,B :integer) Procedure Maksimum ( input A,B:integer; output Procedure Tukar2 ( input /output A,B :integer) Maks:integer) {Program Utama} Luas_Segitiga write('masukan Angka ke-1: ') read(x) write('masukan Angka ke-2: ') read(y) Maksimum(X,Y,maksi) write('angka ke-1: ',x,' ','Angka ke-2: ',Y,' ','Nilai Maksimum: ',maksi) Tukar1(X,Y) Write('Angka ke-1 sekarang nilainya: ',X) Write('Angka ke-2 sekarang nilainya: ',Y) Tukar2(X,Y) Write('Angka ke-1 sekarang nilainya: ',X) Write('Angka ke-2 sekarang nilainya: ',Y) Pascal: Program Contoh_prosedur; var X,Y,maksi:integer; procedure luas_segitiga; var alas,tinggi,luas:real; begin write('masukan alas segitiga: '); readln(alas); write('masukan tinggi segitiga: '); readln(tinggi); luas:=(alas*tinggi)/2; write('luas segitiga:',luas); procedure tukar1 (a,b:integer); var temp:integer; begin temp:=a; a:=b; b:=temp; procedure maksimum(a,b:integer;var maks:integer); begin if a>b then maks:=a else

26 maks:=b procedure tukar2 (var a,b:integer); var temp:integer; begin temp:=a; a:=b; b:=temp; {Program Utama} begin luas_segitiga; write ('Masukan angka ke-1:'); readln(x); write ('Masukan angka ke-2:'); readln(y); maksimum(x,y,maksi); writeln('angka ke-1:',x,' ','Angka ke-2:',y,' ','Nilai maksimum: ',maksi); tukar1(x,y); writeln('angka ke-1 sekarang nilainya:',x); writeln('angka ke-2 sekarang nilainya:',y); tukar2(x,y); writeln('angka ke-1 sekarang nilainya:',x); writeln('angka ke-2 sekarang nilainya:',y); end. 6.3 Function (Fungsi) Function adalah modul program yang memberikan/mengembalikan (return) sebuah nilai dan tipe tertentu. Sebagaimana halnya dengan procedure, function diakses dengan memanggil namanya. Selain itu, fungsi juga dapat mengandung daftar parameter formal. Parameter pada fungsi sama seperti didalam prosedur, tetapi hanya ada parameter masukan saja jika ada. Function hanya dapat mengembalikan nilai bertipe sederhana. Karena itu, tipe hasil dari fungsi haruslah dari tipe sederhana. Struktur Function : Notasi Algoritmik : Function NamaFunction(deklarasi parameter,jika ada):tipe {Spesifikasi function, berisi penjelasan tentang apa yang dilakukan dan yang dikembalikan oleh function} Deklarasi : {Semua nama yang dipakai dalam function didefinisikan disini dan hanya berlaku lokal di dalam function } {Badan function, berisi kumpulan instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh function} Notasi Pascal :

27 function NamaFunction(deklarasi parameter,jika ada):tipe {Spesifikasi function, berisi penjelasan tentang apa yang dilakukan dan yang dikembalikan oleh function} (* Deklarasi *) var {Semua nama yang dipakai dalam function didefinisikan disini dan hanya berlaku lokal di dalam function } (*Algoritma*) begin {Badan function, berisi kumpulan instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh function} NamaFunction:= ekspresi; {pengembalian nilai yang dihasilkan fungsi} Keterangan : Dalam bahasa Pascal, function hanya dapat mengembalikan nilai bertipe sederhana (integer, real, boolean, char, dan string). Karena itu, tipe hasil dari fungsi haruslah dari tipe sederhana. Apabila function tidak memiliki daftar parameter formal, maka tanda ( ) tidak ditulis. Function dideklarasikan sekaligus didefinisikan di dalam blok program utama pemanggil (sesudah kata kunci var). Cara memanggil function: Function diakses dengan cara memanggil namanya dari program pemanggil, diikuti dengan daftar parameter actual (bila ada). Karena fungsi menghasilkan nilai, maka nilai tersebut ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi. peubah namafunction(daftar parameter actual) atau nilai yang dikembalikan oleh function dapat langsung dimanipulasi seperti contoh-contoh berikut: write (Namafunction(daftar parameter actual)) if (Namafunction(daftar parameter actual)) < 0 then.. z 2* (Namafunction(daftar parameter actual))-x+y Contoh function : Algoritmik : Function NilaiRata(a,b,c:integer):real Deklarasi : NR:real NR (a+b+c)/3 NilaiRata NR

28 Program Contoh_fungsi Deklarasi : Nilai1,Nilai2,Nilai3:integer RataRata:real Function NilaiRata(a,b,c:integer):real write('nilai 1 : ') read(nilai1) write('nilai 2 : ') read(nilai2) write('nilai 3 : ') read(nilai3) RataRata NilaiRata(Nilai1,Nilai2,Nilai3) write('nilai rata-rata adalah ', RataRata) Perhatikan bagian deklarasi function: function NilaiRata(a,b,c:integer):real Function di atas mempunyai 3 parameter nilai,yaitu a,b,c. Ketiga parameter tersebut bertipe integer.hasil dari function NilaiRata bertipe real. Di dalam function harus ada pernyataan yang memberi nilai pada function, pada contoh diatas adalah: NilaiRata NR. Perhatikan cata pemanggilan function didalam program utama: NilaiAkhir NilaiRata(Nilai1,Nilai2,Nilai3) Karena hasil dari function NilaiRata bertipe real,maka NilaiAkhir juga harus bertipe real. Pascal: Program Contoh_fungsi; var Nilai1,Nilai2,Nilai3:integer; RataRata : real; function NilaiRata (a,b,c : integer):real; var NR:real; begin NR:= (a+b+c)/3; NilaiRata:=NR; {Program Utama} begin write('nilai 1 : '); readln(nilai1); write('nilai 2 : '); readln(nilai2); write('nilai 3 : '); readln(nilai3); RataRata:=NilaiRata(Nilai1,Nilai2,Nilai3); write('nilai rata-rata adalah ', RataRata); end.

29 KESIMPULAN Fungsi digunakan apabila modul program mengembalikan sebuah nilai. Prosedur digunakan bila modul menghasilkan effek netto dari (satu atau) sekumpulan aksi. Fungsi dapat dikonversi sebagai prosedur dengan cara menyatakan nilai yang dikembalikan (return value) oleh fungsi tersebut sebagai parameter keluaran pada prosedur. Prosedur yang mempunyai satu buah parameter keluaran dapat ditulis sebagai fungsi dengan cara menyatakan parameter keluaran sebagai nilai yang dikembalikan oleh fungsi. Latihan - Buatlah program untuk menghitung berbagai luas dengan menggunakan procedure dan - function. - Buat procedure yang menghasilkan nilai rata-rata sekumpulan data bilangan bulat yang dibaca secara berulang-ulang dari keyboard (akhir pembacaan adalah 9999). Prosedur ini memiliki parameter keluaran, yaitu nilai rata-rata yang dihasilkan. - Buatlah function untuk menentukan bilangan genap dan program utamanya. - Buat function untuk menghitung fungsi F(X)= 2x 2 + 5x +- 8

30 MATERI 7 ARRAY (LARIK) Array adalah struktur data statis yang menyimpan sekumpulan elemen yang bertipe sama, dimana setiap elemen memiliki nilai indeks. Konsep umum dari array : 1. Indeks array harus suatu type yang mempunyai keterurutan (ada suksesor dan predesesor). Misalnya integer atau karakter. Kecuali dalam bahasa C indeks array selalu bertipe integer. 2. Banyaknya elemen array harus sudah diketahui sebelum program dieksekusi. 3. Tipe data elemen array dapat berupa tipe sederhana atau tipe bentukan (record.), atau bahkan bertipe array yang lain. 4. Setiap elemen data dapat diakses secara acak (random), jika indeksnya diketahui 5. Merupakan struktur data yang statis, artinya jumlah elemen yang sudah ditentukan, tidak bisa diubah selama eksekusi program. Keuntungan data array / larik : a. Paling mudah pengoperasiannya b. Ekonomis dalam pemakaian memori, bila semua elemen terisi c. Akses ke setiap elemen memerlukan waktu yang sama Kerugian data array / larik : Memboroskan tempat jika banyak elemen yang tidak digunakan. Penggunaan struktur data array/larik: Array digunakan bila kita mempunyai sejumlah data yang bertipe sama, dan kita perlu menyimpan sementara data tersebut, untuk selanjutnya data tersebut dimanipulasi. Selama pelaksanaan program, array tetap menyimpan nilai. Hal ini bermanfaat bila kita ingin menggunakan nilai-nilai di dalam array tersebut untuk diproses lebih lanjut di bagian lain di dalam algoritma. Dengan menggunakan array, kita dapat menghindari penggunaan nama-nama variabel yang banyak. Misalnya : kita membutuhkan 10 buah variabel untuk menyimpan nilai-nilai yang sama, misalnya integer. Otomatis ini akan ada 10 buah pernyataan membaca dan menulis ke layar, dan beberapa ekspresi untuk memanipulasi nilai-nilai tersebut. Dengan menggunakan array, menyimpan 10 buah variabel nilai hanya dibutuhkan satu variabel array yang terdiri atas 10 buah elemen. Selain itu, dengan array, instruksi pembacaan/penulisan seluruh elemen array cukup ditulis satu kali saja di dalam sebuah konstruksi pengulangan. Representasi array yang umum dibagi menjadi dua, yaitu : 1. Representasi array 1 dimensi. A[1] A[2] A[Nmax] 2. Representasi array 2 dimensi A[1,1] A[2,1] A[1,1] A[1,2] A[1,Nmax] A[1, Nmax] A[2, Nmax]

31 A[Nmax,1] A[Nmax, Nmax] Keterangan : Sebenarnya array dapat direpresentasikan dengan dimensi yang tak hingga, tetapi ini tidak umum digunakan, jadi jumlah dimensi disesuaikan dengan kebutuhan setiap penanganan kasus yang berbeda - beda. PEMROSESAN LARIK Pemrosesan beruntun pada larik adalah pemrosesan mulai dari elemen pertama larik. Yaitu elemen dengan indeks terkecil, berturut-turut pada elemen berikutnya, sampai elemen terakhir dicapai, yaitu elemen dengan indeks terbesar. 7.1 ARRAY 1 DIMENSI Cara Pendefinisian Array : 1. Sebagai variabel Contoh: Algoritmik Pascal C A : array [1..20] of integer NamaBrg : array [ a.. z ] of string A : array [1..20] of integer; NamaBrg : array [ a.. z ] of string; int A[20]; char namabrg[30] [20]; /* Artinya namabrg bertipe string dengan panjang 30 dan merupakan array yang berisi 21 elemen, karena di C indeks elemen dimulai dari 0 */ 2. Sebagai tipe baru dan array bertipe bentukan (record) Contoh: Algoritmik : Type Mhs = record <NPM: integer, Nama : string [20], Alamat: string [30]> Type DataMhs = array [1..20] of Mhs A: DataMhs Pascal : Type Mhs = record NPM: integer; Nama : string [20]; Alamat: string [30]; Type DataMhs = array [1..20] of Mhs

32 A: DataMhs; 3. Mendefinisikan ukuran maksimum elemen array sebagai konstanta Contoh: Algoritmik : Const Nmaks = 20 Type Huruf = array [1..Nmaks] of char A : Huruf Pascal : Const Nmaks = 20; Type Huruf = array [1..Nmaks] of char; Var A : Huruf; Contoh Kasus : Terdapat sebuah data yang berisi deretan angka, sebagai berikut : Operasi-operasi dasar : 1. Menginisialisasi elemen array 2. Mengisi elemen array 3. Mencetak elemen array 4. Pencarian nilai maksimum pada array 5. Pencarian sebuah bilangan pada array dengan metode sekuensial artinya pemrosesan dilakukan terurut berdasarkan indeks array. Maka deklarasinya adalah : Algoritmik: Versi 1 : Versi 2 : Versi 3 : Const Nmax=200 A:array [1..Nmax] of ATAU A:array [1..200] of integer Integer Type DeretAngka : array [ ] of integer A:DeretAngka Const Nmax=200 Type DeretAngka : array [1..Nmax] of integer A:DeretAngka

33 Pascal : Versi 1 : Const Nmax=200; VAR A:array [1..Nmax] of integer; ATAU VAR A:array [1..200] of integer; Versi 2 : Type DeretAngka : array [ ] of integer; VAR A:DeretAngka; Versi 3 : Const Nmax=200; Type DeretAngka : array [1..Nmax] of integer; VAR A:DeretAngka; 1. Menginisialisasi elemen array Algoritmik : Procedure InisialisasiArray (input/output A:deretAngka, input n:integer) {Procedure ini berfungsi untuk memberikan harga awal untuk n elemen array,dengan nilai 0} Deklarasi: i:integer for i 1 to n do A[i] 0 endfor Pascal : Procedure InisialisasiArray (var A:deretAngka ; n:integer); {Procedure ini berfungsi untuk memberikan harga awal untuk n elemen array, dengan nilai 0} VAR i:integer; Begin for i:=1 to n do A[i]:=0; 2. Mengisi elemen array Algoritmik: Procedure IsiArray ( input/output A:deretAngka, input n:integer) { Procedure ini berfungsi untuk mengisi elemen array, dengan: input n =jumlah elemen array yang akan diisi output A = array yang n elemennya sudah terisi } Deklarasi : bil,i:integer for i 1 to n do write('masukan bilangan:') read(bil) A[i] bil endfor

34 Pascal: Procedure IsiArray ( var A:deretAngka; n:integer); { Procedure ini berfungsi untuk mengisi elemen array, dengan: input n =jumlah elemen array yang akan diisi output A = array yang n elemennya sudah terisi } Var Bil,i:integer; Begin for i:=1 to n do begin write('masukan bilangan:');readln(bil); A[i]:=bil; 3. Mencetak elemen array Algoritmik: Procedure CetakArray (input A:deretAngka, input n:integer) { Procedure ini berfungsi untuk mencetak isi dari sebuah array, dengan: input A= array yang sudah berisi angka, n=jumlah elemen array yang akan dicetak isinya } Deklarasi : i :integer for i 1 to n do write('indeks ke-',i,'berisi angka:',a[i]) endfor Pascal : Procedure CetakArray (A:deretAngka; n:integer); { Procedure ini berfungsi untuk mencetak isi dari sebuah array, dengan: input A= array yang sudah berisi angka, n=jumlah elemen array yang akan dicetak isinya } Var i :integer; Begin for i:=1 to n do begin writeln('indeks ke-',i,'berisi angka:',a[i]) 4. Pencarian nilai maksimum pada array Algoritmik : Procedure CariMax (input A:deretAngka, output Maks:integer, input N :integer) {Procedure ini berfungsi untuk mencari nilai maksimum pada sebuah array,dengan: input A= array yang sudah berisi angka,

35 output Maks=nilai maksimun yang dicari pada array} Deklarasi: i:integer Algoritma: maks A[1] for i 2 to N do if A[i] > maks then maks A[i] endif endfor Pascal : Procedure CariMax (A:deretAngka;var Maks:integer; N:integer); {Procedure ini berfungsi untuk mencari nilai maksimum pada sebuah array,dengan: input A= array yang sudah berisi angka, output Maks=nilai maksimun yang dicari pada array} var i:integer; begin maks:= A[1]; for i:=2 to N do if A[i] > maks then maks:=a[i]; 5. Pencarian sebuah bilangan pada array dengan metode sekuensial Algoritmik : Procedure CariNilai(input A:DeretAngka;input x:integer) {Procedure ini berfungsi untuk mencari sebuah nilai pada array, dengan input A= array berisi angka dan x = nilai yang akan dicari} Deklarasi: i:integer Algoritma: i 1 while (A[i] x) and (i < 10) do i i+1 endwhile if A[i]=x then write('ketemu di indeks ke-',i) else write('tidak ketemu') endif Pascal : Procedure CariNilai(A:DeretAngka;x:integer); {Procedure ini berfungsi untuk mencari sebuah nilai pada array, dengan input A= array berisi angka dan x = nilai yang akan dicari} var i:integer; begin i:=1; while (A[i] <> x) and (i < 10) do begin i:=i+1;

36 if A[i]=x then writeln('ketemu di indeks ke-',i) else writeln('tidak ketemu'); Program utama untuk memanggil prosedur-prosedur diatas : Algoritmik : Program Contoh_Array Deklarasi : Const Nmax=200 Type DeretAngka : array [1.. Nmax] of integer Procedure InisialisasiArray (input/output A:deretAngka, input n:integer) Procedure IsiArray (input/output A:deretAngka, input n:integer) Procedure CetakArray (input A:deretAngka, input n:integer) Procedure CariMax (input A:deretAngka,output Maks:integer,N:integer) Procedure CariNilai(input A:DeretAngka,input x:integer) B : deretangka; jumlah,maksimum,angka : integer; Algoritma Utama : write( Masukan banyaknya array: ) read(jumlah) InisialisasiArray(B,jumlah) IsiArray(B,jumlah) CetakArray(B,jumlah) CariMax(B,maksimum,jumlah) write( Nilai maksimum:,maksimum) write( Masukan angka yang akan dicari: ) read(angka) CariNilai(B,angka) Pascal : Program Contoh_Array; Const Nmax=200; Type DeretAngka : array [1.. Nmax] of integer; Procedure InisialisasiArray (var A:deretAngka ; n:integer); Procedure IsiArray ( var A:deretAngka; n:integer); Procedure CetakArray (A:deretAngka; n:integer); Procedure CariMax (A:deretAngka;var Maks:integer; N:integer); Procedure CariNilai(A:DeretAngka;x:integer); Var B : deretangka; jumlah,maksimum,angka : integer; Begin write( Masukan banyaknya array: ); readln(jumlah); InisialisasiArray(B,jumlah);

37 end. IsiArray(B,jumlah); CetakArray(B,jumlah); CariMax(B,maksimum,jumlah); writeln( Nilai maksimum:,maksimum); write( Masukan angka yang akan dicari: ); read(angka); CariNilai(B,angka); 7.2 ARRAY BERTIPE TERSTRUKTUR Algortma Array sebelumnya menggunakan tipe data sederhana, Elemen Array juga bisa menggunakan Tipe data bentukan yaitu Record atau lebih dikenal dengan Tipe Terstruktur. Misalkan akan melakukan proses pengolahan data 100 orang mahasiswa, Data setiap mahasiswa terdiri dri NPM (Nomor Pokok Mahasiswa), Nama mahasiswa, dan IPK (Indeks prestasi Kumulatif Siswa). Struktur Lojiknya sebagai berikut: NPM NamaMhs IPK Dina Rahmayanti Catur Wulan Bayu Nisa N Risma wulandari 3.60 Struktur Array yang dideklarasikan sebagai berikut: DEKLARASI const Nmaks = 100 type Mahasiswa : record <NPM: integer, NamaMhs:String, IPK : real> type TabMhs : Array [1 NMaks] of Mahasiswa Mhs : TabMhs Algoritma untuk mengisi dan membaca larik Mhs adalah sebagai berikut: Procedure BacaDataMahasiswa(input N :integer, output Mhs:TabMhs) Deklarasi I : integer; For i:=1 To N Do Read(Mhs[i].NIM) Read(Mhs[i].NamaMhs) Read(Mhs[i].IPK) EndFor Procedure TulisDataMahasiswa(input N:integer, output:mhs:tabmhs) Deklarasi I,j : integer; For i:=1 To N Do Write (Mhs[i].NPM, Mhs[i].NamaMhs, Mhs[i].IPK) EndFor

Logika dan Algoritma

Logika dan Algoritma MATA KULIAH : LOGIKA DAN DESKRIPSI SINGKAT MATA KULIAH Logika dan Algoritma merupakan mata kuliah yang menjelaskan dasar dari langkahlangkah dalam pemrograman dimana diberikan tahapan secara struktural

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Tujuan Mahasiswa mampu memecahkan masalah dalam sebuah algoritma pemecahan masalah menggunakan struktur pemilihan dan pengulangan. Mahasiswa mengetahui struktur program bahasa

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT S1 Teknik Informatika-Unijoyo 2 Struktur

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data 20/11/2014 Algoritma dan Struktur Data Algoritma Pemrograman Bekti Wulandari, M.Pd Kelas B TE 2014 Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah.

Lebih terperinci

Algoritma & Pemrograman

Algoritma & Pemrograman Algoritma & Pemrograman PENGULANGAN Pendahuluan Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemampuannya untuk melaksanakan suatu instruksi berulang kali tanpa mengenal lelah dan bosan.

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

LOOPING. Brigida Arie Minartiningtyas, M.Kom

LOOPING. Brigida Arie Minartiningtyas, M.Kom LOOPING Brigida Arie Minartiningtyas, M.Kom Program yang efisien adalah program yang memungkinkan pengguna bekerja sesedikit mungkin dan komputer bekerja sebanyak mungkin. Kondisi perulangan Ekspresi boolean

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-9 (Fungsi) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan Prosedur atau Fungsi S1 Teknik Informatika-Unijoyo

Lebih terperinci

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS6110102] Dosen: Yudha Saintika, S.T., M.T.I Sub-Capaian Pembelajaran MK Mahasiswa mampu menerapkan konsep prosedur dan fungsi dalam program. Peta Capaian

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 (Prosedur) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur Nama Global dan Nama Lokal Parameter

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-10 (Fungsi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT S1 Teknik Informatika-Unijoyo

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 dan Ke-9 (Prosedur) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-10 (Fungsi) :: NoorIfada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan Prosedur atau Fungsi? S1

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 dan Ke-9 (Prosedur) :: NoorIfada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur Nama Global dan Nama Lokal

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan kondisi Struktur FOR (menaik dan menurun) 2

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-5 (Penyeleksian Kondisi) :: Noor Ifada :: S1 Teknik Informatika - Unijoyo 1 Sub Pokok Bahasan Pendahuluan Penyeleksian Satu Kasus Penyeleksian Dua Kasus Penyeleksian

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S. ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN Disusun Oleh : Sakina Mawardah Teknik Informatika Dosen : Asep M. Yusuf, S.T UNIVERSITAS NASIONAL PASIM DAFTAR ISI A. Algoritma Percabangan...

Lebih terperinci

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam Teks Program Bahasa Pascal Tabel

Lebih terperinci

ALGORITMA PERULANGAN

ALGORITMA PERULANGAN Pertemuan 08 ALGORITMA PERULANGAN Pada Bab ini anda akan mempelajari 1. Pengertian algoritma perulangan 2. Perulangan for-do 3. Perulangan while-do 4. Perulangan repeat-until Algoritma Perulangan Ada kalanya

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-5 (Penyeleksian Kondisi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Penyeleksian Satu Kasus Penyeleksian Dua

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

Struktur Pengulangan

Struktur Pengulangan ALGORITMA & STRUKTUR DATA1 Mia Fitriawati S.Kom, M.Kom Struktur Pengulangan Struktur pengulangan secara umum terdiri atas dua bagian: Kondisi pengulangan Badan (body) pengulangan Struktur pengulangan secara

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Mia Fitriawati, M.Kom FUNGSI Modul program yang mengembalikan/ memberikan (return) sebuah nilai yang bertipe sederhana. tipe data sederhana : integer, real, boolean, dan string

Lebih terperinci

Algoritma dan Pemrograman Bab 05 Struktur Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Algoritma dan Pemrograman Bab 05 Struktur Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia Algoritma dan Pemrograman Bab 05 Struktur Pengulangan Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia Latar Belakang Pengulangan Tampilkan di layar kata Saya suka Algoritma sebanyak 1000

Lebih terperinci

ALGORTIMA DAN PEMROGRAMAN

ALGORTIMA DAN PEMROGRAMAN ALGORTIMA DAN PEMROGRAMAN PROSEDUR Pendahuluan Dalam memprogram yang besar perlu memecah program menjadi pbeberapa subprogram yang lebih kecil. Tiap subprogram kadangkala cukup independen dari program

Lebih terperinci

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan terdiri dari satu atau lebih pernyataan Tiap pernyataan dikerjakan secara berurutan sesuai urutannya Urutan instruksi menentukan

Lebih terperinci

Bab 1 Algoritma dan Pemrograman Tersruktur

Bab 1 Algoritma dan Pemrograman Tersruktur Bab 1 Algoritma dan Pemrograman Tersruktur 1.1 Definisi Algoritma Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Contoh algoritma Euclidean untuk menentukan

Lebih terperinci

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

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

algoritma & pemrograman

algoritma & pemrograman algoritma & pemrograman materi pengajaran algoritma & pemrograman I (IF-185) 1. Pendahuluan 4. Procedure & Function - Bahasa Pemrograman Pertemuan : 3x - Membuat program / algoritma Pertemuan : 1x 5. UTS

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA Nama : NRP : Laboratorium Pemrograman JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 2012 KONTRAK PRAKTIKUM Nama Mata Kuliah :

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA 1

ALGORITMA DAN STRUKTUR DATA 1 ALGORITMA DAN STRUKTUR DATA 1 Mia Fitriawati, M.Kom PENDAHULUAN Seringkali dalam membuat program besar, pemrogram perlu memecah program menjadi beberapa subprogram yang lebih kecil. Tiap subprogram(modul)

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment FUNGSI Overview Fungsi Konsep Fungsi Fungsi Sederhana Fungsi dengan Analisa Kasus If...Then...Else

Lebih terperinci

Definisi Percabangan

Definisi Percabangan Pertemuan 2 Percabangan Sederhana MK. Algoritma dan Struktur Data Bekti Wulandari, M.Pd. TE KELAS B 2014 Definisi Percabangan Percabangan adalah suatu suatu perintah (pernyataan) yang memungkinkan suatu

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-5 (Penyeleksian Kondisi) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Penyeleksian Satu Kasus Penyeleksian Dua Kasus Penyeleksian Tiga

Lebih terperinci

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Pertemuan 3 Penyeleksian Kondisi dan Perulangan Pertemuan 3 Penyeleksian Kondisi dan Perulangan Objektif: 1. Mengetahui macam-macam penyeleksian kondisi dalam pascal 2. Mengerti statement kondisi IF dan Case 3. Mengetahui macam-macam perulangan dalam

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

PENYELEKSIAN KONDISI dengan IF

PENYELEKSIAN KONDISI dengan IF 5 PENYELEKSIAN KONDISI dengan IF Bagian ini akan membahas : Pendahuluan Penyeleksian Kondisi dengan Satu Kasus Penyeleksian Kondisi dengan Dua Kasus Penyeleksian Kondisi dengan Tiga Kasus atau lebih Diagram

Lebih terperinci

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA Khusnawi, S.Kom, M.Eng 2010 ( Structure(pErulanGan RePetiTion Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari

Lebih terperinci

Bab 2 DASAR-DASAR ALGORITMA

Bab 2 DASAR-DASAR ALGORITMA Bab 2 DASAR-DASAR ALGORITMA Pada bab ini anda akan mempelajari 1. Nama (pengenal) 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke- 6 dan 7 Pengulangan atau Looping Rahmady Liyantanto liyantanto88@yahoo.com liyantanto.wordpress.com Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa

Lebih terperinci

ALGORITMA DAN PEMROGRAMAN

ALGORITMA DAN PEMROGRAMAN ALGORITMA DAN PEMROGRAMAN MATERI 3 1 2 Macam macam struktur algoritma : RUNTUNAN (SEQUENCE) PEMILIHAN (SELECTION) PENGULANGAN (REPETITION) 3 RUNTUNAN Runtunan merupakan struktur algoritma paling dasar

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) :: Noor Ifada :: S1 Teknik -Unijoyo 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan kondisi

Lebih terperinci

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi. FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi. TEORI PENGANTAR: Definisi Fungsi Fungsi adalah sub-program

Lebih terperinci

Procedure. Pertemuan 10 Algoritma Pemrograman

Procedure. Pertemuan 10 Algoritma Pemrograman Procedure Pertemuan 10 Algoritma Pemrograman Pendahuluan Seringkali dalam membuat program besar, pemrogram perlu memecah program menjadi beberapa subprogram yang lebih kecil. Tiap subprogram (modul) dapat

Lebih terperinci

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter. PROSEDUR (Lanjutan) Parameter MINGGU KE: 3 TUJUAN: Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter. TEORI PENGANTAR: Penggunaan parameter

Lebih terperinci

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem PENGULANGAN Bagian 1 : Notasi Tim Pengajar KU1071 Sem. 1 2009-2010 1 Tujuan Mahasiswa memahami jenis-jenis pengulangan dan penggunaannya serta memahami elemenelemen dalam pengulangan. Mahasiswa dapat menggunakan

Lebih terperinci

BAB I TUJUAN DAN LANDASAN TEORI

BAB I TUJUAN DAN LANDASAN TEORI BAB I TUJUAN DAN LANDASAN TEORI 1. Tujuan 1. Dapat memahami konsep prosedur dan fungsi. 2. Mampu membuat prosedur dan fungsi baik dengan parameter maupun tanpa parameter. 3. Mampu membedakan kapan menggunakan

Lebih terperinci

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1 I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer

Lebih terperinci

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

PROSEDUR DAN FUNGSI. Altien Jonathan Rindengan, S.Si., M.Kom PROSEDUR DAN FUNGSI Altien Jonathan Rindengan, S.Si., M.Kom PROSEDUR Pendahuluan Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih

Lebih terperinci

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom PEMILIHAN Dian Palupi Rini, M.Kom Runtunan Struktur runtunan hanya terdapat pada program sederhana. Pada umumnya, masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi

Lebih terperinci

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

Contoh 1: Akan dicetak angka 1 sampai 10 dengan menggunakan perulangan for Bahan Ajar Algoritma Halaman 1 ii. Struktur Pengulangan (repetition) Struktur pengulangan merupakan struktur yang melakukan pengulangan terhadap satu baris atau satu blok baris program beberapa kali sesuai

Lebih terperinci

Pertemuan 3 Penyeleksian Kondisi

Pertemuan 3 Penyeleksian Kondisi Pertemuan 3 Penyeleksian Kondisi Objektif: 1. Mengetahui macam-macam penyeleksian kondisi dalam pascal 2. Mengerti statement kondisi IF dan Case Pertemuan 3 39 P3.1 Teori Pada umumnya satu permasalahan

Lebih terperinci

1 Pencarian. 1.1 Tinjauan Singkat Larik

1 Pencarian. 1.1 Tinjauan Singkat Larik 1 Pencarian P encarian (searching) merupakan proses yang fundamental dalam pengolahan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Pengulangan Pendahuluan Salah satu proses yang hampir selalu ada dalam pemrograman

Lebih terperinci

ALGORITMA & PEMROGRAMAN

ALGORITMA & PEMROGRAMAN MODUL BAHAN AJAR ALGORITMA & PEMROGRAMAN Oleh : Shiyami M, S.Kom. JURUSAN MANAJEMEN INFORMATIKA POLITEKNIK POS INDONESIA BANDUNG 2011 DAFTAR ISI BAB I PENGENALAN ALGORITMA... 1 BAB II NOTASI ALGORITMIK,

Lebih terperinci

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2 VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,

Lebih terperinci

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

DASAR PEMROGRAMAN. Institut Teknologi Sumatera DASAR PEMROGRAMAN REVIEW STRUKTUR DASAR, PERCABANGAN, DAN PERULANGAN Institut Teknologi Sumatera TUJUAN KULIAH Mengenalkan konsep dasar pemrograman: dekomposisi problem, modularisasi, rekurens; skill/praktek

Lebih terperinci

Algoritma dan Pemrograman

Algoritma dan Pemrograman Algoritma dan Pemrograman Bab III Notasi Algoritmik Pertemuan Ke-3 Notasi Algoritma dan bahasa pemrograman C++ Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi

Lebih terperinci

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

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

MODUL 3 ALGORITMA PEMROGRAMAN

MODUL 3 ALGORITMA PEMROGRAMAN MODUL 3 ALGORITMA PEMROGRAMAN Pada Modul ini anda akan mempelajari 1. Pengenal 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut 1. Pengenalan Bahasa C++ a. Elemen Bahasa C+ Bahasa C++ ditulis dari beberapa elemen, antara lain: Pernyataan Satu atau beberapa ekspresi

Lebih terperinci

Algoritma dan Struktur Data I

Algoritma dan Struktur Data I Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Pemilihan Seringkali suatu instruksi hanya bisa dikerjakan jika ia memenuhi suatu persyaratan tertentu Komputer tidak lagi mengerjakan instruksi

Lebih terperinci

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan PERKEMBANGAN PASCAL Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan Nama pascal diambil sebagai penghargaan terhadap BLAISE PASCAL seorang ahli matematika

Lebih terperinci

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

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS MATA KULIAH PEMROGRAMAN * (TK) Minggu ke Pokok Bahasan dan TIU 1. Algoritma Konsep Dasar Bahasa Pascal secara singkat sejarah dirancangnya bahasa Memberikan konsep dasar pembuatan program dalam bahasa

Lebih terperinci

Array. Teknik Informatika Politeknik Negeri Batam

Array. Teknik Informatika Politeknik Negeri Batam Array Teknik Informatika Politeknik Negeri Batam Pendahuluan Array Array A 1 158 2 157 3 162 4 169 5 172 6 155 7 170 8 163 Isi A[1] adalah 158 Isi A[2] adalah 157 Isi A[8] adalah 163 Struktur data statik

Lebih terperinci

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek. LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menit No. : LST/EKA/EKA 305/03 Revisi : Tgl. : Hal. 1 dari 3 hal. 1. Kompetensi Mengenal dan memahami algoritma percabangan

Lebih terperinci

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi STRUKTUR KENDALI Modul TIK XI Memanfaatkan struktur kendali untuk kasus komputasi Statement kendali digunakan untuk proses pengambilan keputusan. ( PROSES DECISION ) Dimana proses akan dikerjakan bila

Lebih terperinci

MODUL 1. Struktur Bahasa PASCAL secara umum

MODUL 1. Struktur Bahasa PASCAL secara umum MODUL 1 Struktur Bahasa PASCAL secara umum Pascal mempunyai struktur sebagai berikut: 1. Bagian Judul Program 2. Bagian Deklarasi e a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi

Lebih terperinci

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat STRUKTUR DATA Pengajar Jaidan Jauhari, M.T. Alamat Email jaidan_j@ilkom.unsri.ac.id jaidan_j@yahoo.com Disarikan Dari Berbagai Sumber, Terutama Dari Diktat Struktur Data Informatika ITB Karangan Dr. Inggriani

Lebih terperinci

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah elemen-elemen pada bahasa pemrograman: Berikut adalah element-element pada bahasa pemrograman: 1. Aturan

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma 1 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan Sebuah algoritma tidak saja harus

Lebih terperinci

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

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T Universitas gunadarma pascal Bab 4- bab 10 Hana Pertiwi S.T 14 PASCAL Struktur Perulangan WHILE-DO Struktur Perulangan REPEAT-UNTIL REPEAT UNTIL 1. Struktur Perulangan FOR 2. Penggunaan gabungan struktur

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

Modul Algoritma Dan Pemrograman Pascal

Modul Algoritma Dan Pemrograman Pascal Modul Algoritma Dan Pemrograman Pascal 0 I.1 Pemilihan Dalam sebuah program terkadang kita membutuhkan syintaks pemillihan. Contohnya dalam program untuk menentukan pemilih pada pemilu, maka kita harus

Lebih terperinci

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING) PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING) a. Introduction b. Tanpa Boolean c. Dengan Boolean d. Penggunaan dalam Fungsi INTRODUCTION Merupakan algoritma pencarian yang paling sederhana. Proses Membandingkan

Lebih terperinci

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Definisi Brute Force Brute force : pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

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

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application #2 Aplikasi Console Aplikasi console merupakan aplikasi berbasis teks yang berjalan pada command prompt. Bahasa yang digunakan pada aplikasi delphi adalah bahasa pemrograman pascal. Struktur Penulisan

Lebih terperinci

Pengenalan Pascal. Sejarah Singkat Pascal

Pengenalan Pascal. Sejarah Singkat Pascal Pengenalan Pascal Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan

Lebih terperinci

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM ANALISIS ALGORITMA Analisis Masalah dan Running Time Disusun Oleh: Adam Mukharil Bachtiar Teknik Informatika UNIKOM adfbipotter@gmail.com AGENDA PERKULIAHAN DEFINISI MASALAH f x = a 0 + a n cos nπx +

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

PENGULANGAN. Ada lima macam notasi pengulangan: 1. Berdasarkan jumlah pengulangan. repeat n times

PENGULANGAN. Ada lima macam notasi pengulangan: 1. Berdasarkan jumlah pengulangan. repeat n times PENGULANGAN Salah satu kemampuan komputer yang dapat dimanfaatkan adalah mengulang suatu instruksi, bahkan aksi, secara berulang-ulang dengan peformansi yang sama. Berbeda dengan manusia yang cenderung

Lebih terperinci

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA I. Pendahuluan Algoritma dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. Algoritma dapat ditulis dalam bahasa natural/bahasa

Lebih terperinci

2 ATURAN PENULISAN TEKS ALGORITMA

2 ATURAN PENULISAN TEKS ALGORITMA 2 ATURAN PENULISAN TEKS ALGORITMA Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun, asalkan mudah dimengerti dan dipahami. Tidak

Lebih terperinci

Modul 1 Mesin Karakter 1

Modul 1 Mesin Karakter 1 MODUL 1 MESIN KARAKTER TUJUAN PRAKTIKUM 1. Mahasiswa dapat memahami salah satu contoh aplikasi otomata yaitu mesin karakter 2. Mahasiswa mampu mengimplementasikan mesin karaketer dalam program pengolahan

Lebih terperinci

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL Tim Pengajar KU1071 Sem. 1 2009-2010 1 Overview Notasi Pengulangan 1. Berdasarkan jumlah pengulangan repeat n times aksi 2. Berdasarkan kondisi berhenti repeat aksi

Lebih terperinci

GARIS GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS GARIS BESAR PROGRAM PENGAJARAN (GBPP) GARIS GARIS BESAR PROGRAM PENGAJARAN (GBPP) Perguruan Tinggi : POLITEKNIK PIKSI GANESHA Program Studi / Smt. Ke : Judul Mata Kuliah : Logika dan Algoritma (C) Kode Mata Kuliah / SKS : Deskripsi Singkat

Lebih terperinci

PERSEGI ANGKA-HURUF VERTIKAL

PERSEGI ANGKA-HURUF VERTIKAL TUGAS APLIKASI (UJIAN AKHIR SEMESTER) PERSEGI ANGKA-HURUF VERTIKAL Mata Kuliah: Algoritma Pemrograman Kelompok: C4 Anggota Kelompok: Abdul Khafit (110411100097) Novi Indrawati (110411100098) Ria Lyzara

Lebih terperinci

Dasar Komputer & Pemrogaman 2A

Dasar Komputer & Pemrogaman 2A Dasar Komputer & Pemrogaman 2A Materi 1 Reza Aditya Firdaus Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari

Lebih terperinci

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs. Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks By. Rita Wiryasaputra, ST., M. Cs. ritasaputra@gmail.com Kriteria Unjuk Kerja Algoritma Pemrograman 1 Tugas Terakhir (15): Buatlah portofolio Pengidentifikasian

Lebih terperinci

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement : Perulangan Bentuk bentuk Perulangan Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang

Lebih terperinci

TIPE, NAMA, DAN NILAI

TIPE, NAMA, DAN NILAI TIPE, NAMA, DAN NILAI Dian Palupi Rini, M.Kom Tipe Dasar Bilangan Logika Nama Tipe adalah boolean (diambil dari nama matematikawan Inggris George Boole). Ranah Nilai : true (benar) dan false (salah). Konstanta

Lebih terperinci