IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak

Ukuran: px
Mulai penontonan dengan halaman:

Download "IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak"

Transkripsi

1 IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Mesin Abstrak 1 8/25/2015

2 Mesin Abstrak Definisi: mesin yang dianggap ada, dan diasumsikan mampu melakukan mekanisme yang didefinisikan untuk mesin tersebut. Mesin abstrak memungkinkan programmer untuk melakukan pemecahan masalah secara bertahap Mendefinisikan mesin abstrak berarti mendefinisikan: sekumpulan state yang mungkin sekumpulan aksi primitif 2 8/25/2015 IKG2A3 Pemrograman Terstruktur 2

3 Macam Mesin Abstrak yang Akan Dibahas Mesin Karakter Mesin Couple Mesin Kata Me-reuse primitive pada mesin karakter 3 8/25/2015

4 MESIN KARAKTER 4 8/25/2015

5 Mesin Karakter Pita berisi deret karakter, yang diakhiri dengan. (titik), pita yang hanya berisi. disebut sebagai pita kosong Tombol START, ADV Sebuah lampu EOP (End Of Pita) Jendela yang ukurannya sebesar satu karakter. karakter yang sedang pada jendela dinamakan CC (Current Character) 5 8/25/2015

6 Mesin Karakter (lanjutan) Lampu EOP menyala jika CC =. Tombol START dan ADV digunakan untuk mengubah state mesin Mesin hanya dapat dioperasikan jika EOP tidak menyala E eof Start Adv 6 8/25/2015

7 Primitive untuk Merubah Posisi Pita Procedure START {Mesin siap dioperasikan. Pita disiapkan untuk dibaca. Karakter pertama yang ada pada pita posisinya adalah pada jendela I.S. : Sembarang F.S. : CC adalah karakter pertama pada pita, Jika CC. maka EOP akan padam (false) Jika CC =. maka EOP akan menyala (true) } 7 8/25/2015

8 Primitive untuk Merubah Posisi Pita Procedure ADV {Pita dimajukan satu karakter I.S. : karakter pada jendela = CC, CC. F.S. : CC adalah karakter berikutnya dari CC yang lama, CC mungkin =. jika CC =. maka EOP akan menyala (true) } 8 8/25/2015

9 Menghitung jumlah huruf pada pita Program COUNTHURUF {SKEMA PEMROSESAN DENGAN MARK} Kamus : Algoritma : RESET {Inisialisasi, CI = 0} START {First_Elmt} while (CC. } do {not EOP} INCR {Proses : CI=CI+1} ADV {Next_Elmt} {CC =. } Output (CI) {Terminasi} 9 8/25/2015

10 Program COUNT_A {SKEMA PEMROSESAN DENGAN MARK:Menghitung banyaknya huruf A pada pita karakter} Kamus : Algoritma : RESET {Inisialisasi, CI = 0} START {First_Elmt} while (CC. } do {not EOP} depend on CC {Proses} CC = A : INCR CC A : - ADV {Next_Elmt} {CC =. } Output (CI) {Terminasi} 10 8/25/2015

11 Program COUNT_A-2 {SKEMA PEMROSESAN dengan penanganan kasus kosong} Kamus : Algoritma : START {First_Elmt} depend on CC CC =. : Output ( Pita kosong } CC. : RESET {Inisialisasi, CI = 0} repeat depend on CC {Proses} CC = A : INCR CC A : - ADV {Next_Elmt} until CC =. Output (CI) {Terminasi} 11 8/25/2015

12 Menghitung frekuensi huruf a Program FREKA-1 {SKEMA PEMROSESAN DENGAN MARK, tanpa penanganan kasus kosong} Kamus : Algoritma : CPT_KAR 0 {Inisialisasi} CPTA 0 {Inisialisasi} START {First_Elmt} while (CC. ) do CPT_KAR CPT_KAR + 1 depend on CC CC = A : CPTA CPTA + 1 CC A : - ADV {Next_Elmt} {CC =. : semua karakter pada pita sudah dibaca, mungkin CPT_KAR = 0} {Terminasi} depend on CPT_KAR CPT_KAR 0 : Output (CPT_A/CPT_KAR) CPT_KAR = 0 : Output ( Frekuensi tidak terdefinisi ) 12 8/25/2015

13 Program FREKA-2 {SKEMA PEMROSESAN DENGAN MARK, dengan penanganan kasus kosong Kamus : CPT-KAR : Integer {banyaknya karakter pada pita yang sudah dibaca} CPTA : Integer {banyaknya huruf A yang muncul pada bagian pita yang sudah dibaca} Algoritma : START {First_Elmt} if CC =. then output ( Pita kosong ) else {CC. ) CPT_KAR 0 {Inisialisasi} CPTA 0 {Inisialisasi} repeat CPT_KAR CPT_KAR + 1 if (CC = A ) then CPTA CPTA + 1 {else (CC. ) do nothing} ADV {Next_Elmt} until (CC =. ) output (CPTA/CPT_KAR) {Terminasi, CPT_KAR pasti tidak nol) 13 8/25/2015

14 Kasus Diberikan sebuah mesin karakter dengan pita berisi karakter (mungkin kosong). Buatlah algoritma untuk menghitung banyaknya pasangan dua huruf LE yang ada pada pita tersebut HITUNG-LE, versi 2 : Ide mengingat-ingat jika menemukan L, dan memeriksa karakter selanjutnya Realisasi menggunakan mesin karakter 14 8/25/2015

15 Program COUNTLE-2 {SKEMA PEMROSESAN DENGAN MARK} {Solusi 2: Memorisasi satu karakter sebelum karakter yang ada di jendela} Kamus : CPTLE : Integer {banyaknya LE pada bagian pita yang sudah dibaca} Prec-Is-L : boolean {true jika karakter sebelum CC adalah L } Algoritma : Prec-Is-L false {inisialisasi} CPTLE 0 {inisialisasi} START {First_Elmt} while CC. do Prec-Is-L CC = L ADV {Next_Elmt} if CC = E and Prec-Is-L then CPTLE = CPTLE + 1 Output (CPTLE) {Terminasi} 15 8/25/2015

16 Program COUNTLE-3 {SKEMA PEMROSESAN DENGAN MARK} {Solusi 3: majukan pita sampai ketemu L, periksa karakter berikutnya. Proses ini diulang sampai seluruh karakter selesai diproses}: Kamus : CPTLE : Integer {banyaknya LE pada bagian pita yang sudah dibaca} Algoritma : CPTLE 0 START {First_Elmt} while (CC. ) do {Cari sampai ketemu L, namun mungkin ketemu. } while (CC L ) and (CC. ) do ADV {CC = L or CC =. } if (CC = L and CC =. ) then ADV {Boleh ADV, karena CC bukan. } if CC = E then CPTLE CPTLE + 1 {else : CC L : -} {CC =., seluruh karakter pada pita sudah dibaca} Output (CPTLE) {Terminasi} 16 8/25/2015

17 HITUNG-LE versi-3 : Ide maju terus sampai menemukan L, dan memeriksa karakter berikutnya Realisasi menggunakan Mesin Karakter 17 8/25/2015

18 MESIN COUPLE 18 8/25/2015

19 Kembali ke kasus hitung LE : Diberikan sebuah mesin karakter dengan pita berisi karakter (mungkin kosong). Buatlah algoritma untuk menghitung banyaknya pasangan dua huruf LE yang ada pada pita tersebut HITUNG-LE Versi 3 : Realisasi dengan membuat mesin couple : mesin yang mampu untuk menampilkan dua karakter sekaligus berdasarkan mesin karakter. 19 8/25/2015

20 Program COUNTLE-1 {SKEMA PEMROSESAN DENGAN MARK} {Solusi 1: Mesin COUPLE}: Kamus : CPTLE : Integer {banyaknya LE pada bagian pita yang sudah dibaca} C1, C2 : character {C1, C2 adalah Couple} procedure START-COUPLE {mendapatkan couple yang pertama} {I.S. : sembarang } {F.S. : Couple pertama terbentuk : C1 =, C2 = CC, CC mungkin =. } procedure ADV-COUPLE {next-couple} {I.S. : C1 dan C2, C2. } {F.S. : C1 = C2, C2 = CC, CC mungkin =. } Algoritma : START-COUPLE {First_Elmt} CPTLE 0 while (CC. ) do {not End-Couple} if (C1 = L and C2 = E ) then CPTLE CPTLE + 1 {couple LE } {else : C1 L or C2 E : -} ADV-COUPLE {Next_Elmt} Output (CPTLE) {Terminasi} 20 8/25/2015

21 Primitive pada Mesin Couple Procedure START-COUPLE {SKEMA PEMROSESAN DENGAN MARK, Solusi 1 : mesin COUPLE}: {I.S. : sembarang } {F.S. : Couple pertama terbentuk : C1 =, C2 = CC, CC mungkin =. } Kamus : Algoritma : C1 {karena yang dicari adalah LE, Bagaimana jika yang dicari pasangan lain?} START C2 CC 21 8/25/2015

22 Primitive pada Mesin Couple procedure ADV-COUPLE {SKEMA PEMROSESAN DENGAN MARK, Solusi 1 : mesin COUPLE}: {I.S. : C1 dan C2, C2. } {F.S. : C1 = C2, C2 = CC, CC mungkin =. } Kamus : Algoritma : C1 C2 ADV C2 CC 22 8/25/2015

23 MESIN KATA 23 8/25/2015

24 Mesin Kata Dari primitif-primitif mesin karakter, dapat dibuat mesin kata yang melakukan pemrosesan terhadap pita karakter dengan anggapan tiap elemen yang diakuisisi berupa kata. Definisi kata : sederetan karakter suksesif pada pita larakter yang merupakan karakter bukan blank 24 8/25/2015

25 Kemungkinan isi dari pita karakter : hanya mengandung titik (pita kosong). hanya mengandung blank diakhiri titik. mengandung blank di awal dan di akhir pita 25 8/25/2015

26 Kemungkinan isi dari pita karakter : - tidak mengandung blank di awal dan di akhir pita - mengandung blank di akhir pita - mengandung blank di awal pita 26 8/25/2015

27 Model Akuisisi Berikut ini beberapa contoh model akuisisi kata pada pita karakter dengan kasus menghitung panjang rata- rata kata pada sebuah pita karakter. Versi 1 Akhir proses adalah sebuah Boolean, berisi true jika kata terakhir telah diakusisi. Kata diakuisisi mulai dari karakter pertama sesudah akhir kata. Akuisisi kata terakhir menghasilkan kata kosong. 27 8/25/2015

28 Model Akuisisi Versi 1 Program PANJANG_RATA_KATA1 { algoritma menghitung panjang rata-rata kata pada pita karakter } { Versi 1 : Skema pemrosesan tanpa penanganan kasus kosong } Kamus Constant Mark : character =. Constant Blank : character = Lkata : integer {panjang kata terakhir yang sudah diakuisisi} NbKata : integer {jumlah kata pada pita} LTotal : integer {akumulasi panjang kata} EndKata : boolean {true jika kata terakhir sudah diakusisi} 28 8/25/2015

29 Lanjutan Kamus Procedure Ignore_Blank {mengabaikan satu atau beberapa blank} {I.S : CC sembarang} {F.S : CC Blank, atau CC = mark} Procedure Hitung_Panjang {menghitung panjang kata} {I.S : CC adalah karakter pertama dari kata } {F.S : CC = Blank atau CC = mark, CC adalah karakter pertama sesudah huruf terkahir kata yang diakuisisi; Lkata berisi panjang kata yang sudah diakuisisi} 29 8/25/2015

30 Lanjutan Kamus Procedure START_KATA {mengabaikan satu atau beberapa blank} {I.S : CC sembarang} {F.S : Endkata true dan CC = mark atau EndKata false, Lkata adalah panjang kata yang sudah diakuisisi, CC karakter pertama sesudah karakter terakhir kata} Procedure ADVKATA {mengabaikan satu atau beberapa blank} {I.S : EndKata false; CC adalah karakter sesudah karakter terakhir dari kata yang sudah diakuisisi} {F.S : Endkata true dan CC = mark atau EndKata false, Lkata adalah panjang kata yang sudah diakuisisi, CC karakter pertama sesudah karakter terakhir kata} 30 8/25/2015

31 Algoritma : LTotal 0 NbKata 0 STARTKATA While not EndKata do LTotal LTotal + LKata NbKata NbKata + 1 ADVKATA {Endkata=true} depend on NbKata NbKata 0 : Output (LTotal/NbKata) NbKata = 0 : Output ( Pita tidak mengandung kata ) 31 8/25/2015

32 Procedure Ignore_Blank {mengabaikan satu atau beberapa Blank} {I.S : CC sembarang} {F.S : CC Blank atau CC = Mark} Kamus Algoritma while (CC = Blank) and (CC Mark) do ADV {CC Blank OR CC = Mark} 32 8/25/2015

33 Procedure Hitung_Panjang {menghitung panjang kata} {I.S : CC adalah karakter pertama dari kata, CC Blank dan CC Mark } {F.S : CC = Blank atau CC = Mark; CC adalah karakter sesudah huruf terakhir kata yang diakuisisi; Lkata berisi panjang kata yang sudah diakuisisi} Kamus Algoritma Lkata 1 {karena berada pada karakter pertama pita} iterate ADV Stop ((CC = Mark) or (CC = Blank)) Lkata Lkata + 1 {(CC = Mark) or (CC = Blank); Lkata = # karakter kata yang diakuisisi} 33 8/25/2015

34 Procedure START_KATA {mengabaikan satu atau beberapa Blank} {I.S : CC sembarang } {F.S : Endkata True dan CC = Mark atau EndKata = False; Lkata adalah panjang kata yang sudah diakuisisi; CC karakter pertama sesudah karakter terakhir kata} Kamus Algoritma START Ignore_blank depend on CC CC = Mark : EndKata true CC Mark : EndKata false Hitung_Panjang 34 8/25/2015

35 Procedure ADVKATA {mengabaikan satu atau beberapa Blank} {I.S : EndKata = false; CC adalah karakter sesudah karakter terakhir kata yang sudah diakusisi } {F.S : Endkata True dan CC = Mark atau EndKata = False; Lkata adalah panjang kata yang sudah diakuisisi; CC karakter pertama sesudah karakter terakhir kata} Kamus Algoritma Ignore_blank depend on CC CC = Mark : EndKata true CC Mark : Hitung_Panjang 35 8/25/2015

36 Model Akuisisi Versi 2 Akhir dari proses adalah sebuah kata kosong, yaitu kata dengan panjang nol. Model akuisisi kata sama dengan Versi /25/2015

37 Model Akuisisi Versi 2 Program PANJANG_RATA_KATA2 { algoritma menghitung panjang rata-rata kata pada pita karakter } Kamus Constant Mark : character =. Constant Blank : character = Lkata : integer {panjang kata terakhir yang sudah diakuisisi} NbKata : integer {jumlah kata pada pita} LTotal : integer {akumulasi panjang kata} 37 8/25/2015

38 Procedure Ignore_Blank {mengabaikan satu atau beberapa blank} {I.S : CC sembarang} {F.S : CC Blank, atau CC = mark} Procedure Hitung_Panjang {menghitung panjang kata} {I.S : CC adalah karakter pertama dari kata } {F.S : CC = Blank atau CC = mark, CC adalah karakter pertama sesudah huruf terkahir kata yang diakuisisi; Lkata berisi panjang kata yang sudah diakuisisi} 38 8/25/2015

39 Procedure START_KATA {mengabaikan satu atau beberapa blank} {I.S : CC sembarang} {F.S : Lkata = 0, dan CC = Mark; atau Lkata 0; Lkata adalah panjang kata yang sudah diakuisisi, CC karakter pertama sesudah karakter terakhir kata} Procedure ADVKATA {mengabaikan satu atau beberapa blank} {I.S : Lkata = 0; CC adalah karakter sesudah karakter terakhir dari kata yang sudah diakuisisi} {F.S : Lkata = 0, dan CC = Mark; atau Lkata 0; Lkata adalah panjang kata yang sudah diakuisisi, CC karakter pertama sesudah karakter terakhir kata} 39 8/25/2015

40 Algoritma : NbKata 0 {belum ada kata diakuisisi} LTotal 0 {belum ada kata diakuisisi, #Kata = 0} STARTKATA While (Lkata 0 ) do LTotal LTotal + LKata NbKata NbKata + 1 ADVKata {Lkata = 0 ketemu Mark} depend on NbKata NbKata 0 : Output (LTotal/NbKata) NbKata = 0 : Output ( Pita tidak mengandung kata ) 40 8/25/2015

41 Procedure Ignore_Blank {mengabaikan satu atau beberapa Blank} {I.S : CC sembarang} {F.S : CC Blank atau CC = Mark} Kamus Algoritma {I.S CC sembarang} while (CC = Blank) and (CC Mark) do ADV {F.S : CC Blank or CC = Mark} 41 8/25/2015

42 Procedure Hitung_Panjang {menghitung panjang kata} {I.S : CC adalah karakter pertama dari kata, CC Blank dan CC Mark } {F.S : CC = Blank atau CC = Mark; CC adalah karakter sesudah huruf terakhir kata yang diakuisisi; Lkata berisi panjang kata yang sudah diakuisisi} Kamus Algoritma Lkata 0 While (CC Mark) and (CC Blank) do Lkata Lkata + 1 ADV {(CC = Mark) or (CC = Blank) 42 8/25/2015

43 Procedure START_KATA {mengabaikan satu atau beberapa Blank} {I.S : CC sembarang } {F.S : Lkata = 0 dan CC = Mark; Lkata 0, Lkata adalah panjang kata yang sudah diakuisisi; CC karakter pertama sesudah karakter terakhir kata} Kamus Algoritma START Ignore_blank Hitung_Panjang 43 8/25/2015

44 Procedure ADVKATA {mengabaikan satu atau beberapa Blank} {I.S : Lkata 0 ; CC adalah karakter sesudah karakter terahir kata yang sudah diakusisi } {F.S : Lkata = 0 dan CC = Mark; atau Lkata 0; Lkata adalah panjang kata yang sudah diakuisisi; CC karakter pertama sesudah karakter terakhir kata} Kamus Algoritma Ignore_Blank Hitung_Panjang 44 8/25/2015

45 Model Akuisisi Versi 3 Mengabaikan blank di awal pita, dan memproses sisanya. Versi ini merupakan model akuisisi tanpa Mark, artinya kata yang diakuisisi tidak pernah kata kosong. Akuisisi dimulai dari karakter pertama suatu kata sampai karakter kata pertama dari kata berikutnya (atau titik jika merupakan kata terakhir). Model ini mengharuskan adanya prosedur initakses untuk memposisikan CC pada karakter pertama. initakses 45 8/25/2015

46 Model Akuisisi Versi 3 Program PANJANG_RATA_KATA3 { algoritma menghitung panjang rata-rata kata pada pita karakter } { Versi3 : Skema Pemrosesan Tanpa Mark} Kamus Constant Mark : character =. Constant Blank : character = Lkata : integer {panjang kata terakhir yang sudah diakuisisi} NbKata : integer {jumlah kata pada pita} LTotal : integer {akumulasi panjang kata} 46 8/25/2015

47 Lanjutan Kamus Procedure Ignore_Blank {mengabaikan satu atau beberapa blank} {I.S : CC sembarang} {F.S : CC Blank, atau CC = mark} Procedure Hitung_Panjang {menghitung panjang kata} {I.S : CC adalah karakter pertama dari kata } {F.S : CC = Blank atau CC = mark, CC adalah karakter pertama sesudah huruf terkahir kata yang diakuisisi; Lkata berisi panjang kata yang sudah diakuisisi} 47 8/25/2015

48 Lanjutan Kamus Procedure INITAKSES {mengabaikan satu atau beberapa blank pada awal pita} {I.S : CC sembarang} {F.S : CC = Mark; atau CC karakter pertama dari kata yang akan diakuisisi} Procedure ADVKATA {mengabaikan satu atau beberapa blank} {I.S : CC adalah karakter pertama dari kata yang akan diakuisisi} {F.S : Lkata adalah panjang kata yang sudah diakuisisi; CC karakter pertama kata berikutnya, mungkin Mark} 48 8/25/2015

49 Algoritma : INITAKSES LTotal 0 NbKata 0 While (CC Mark ) do ADVKata LTotal LTotal + LKata NbKata NbKata + 1 {CC = Mark } depend on NbKata NbKata 0 : Output (LTotal/NbKata) NbKata = 0 : Output ( Pita tidak mengandung kata ) 49 8/25/2015

50 Procedure Ignore_Blank {mengabaikan satu atau beberapa Blank} {I.S : CC sembarang} {F.S : CC Blank atau CC = Mark} Kamus Algoritma {I.S CC sembarang} while (CC = Blank) and (CC Mark) do ADV {F.S : CC Blank atau CC = Mark} 50 8/25/2015

51 Procedure Hitung_Panjang {menghitung panjang kata} {I.S : CC adalah karakter pertama dari kata, CC Blank dan CC Mark } {F.S : CC = Blank atau CC = Mark; CC adalah karakter sesudah huruf terakhir kata yang diakuisisi; Lkata berisi panjang kata yang sudah diakuisisi} Kamus Algoritma Lkata 1 {CC adalah karakter pertama pita} Iterate ADV Stop ((CC = Mark) or (CC = Blank)) Lkata Lkata + 1 (CC = Mark) or (CC = Blank) 51 8/25/2015

52 Procedure INITAKSES {mengabaikan satu atau beberapa Blank pada awal pita} {I.S : CC sembarang } {F.S : CC = Mark atau CC = karakter pertama dari kata yang akan diakuisisi} Kamus Algoritma START Ignore_blank 52 8/25/2015

53 Procedure ADVKATA {mengabaikan satu atau beberapa Blank} {I.S : CC = karakter pertama dari kata yang akan diakuisisi} {F.S : Lkata adalah panjang kata yang sudah diakuisisi; CC karakter pertama kata berikutnya, CC mungkin = Mark} Kamus Algoritma Hitung_Panjang Ignore_blank 53 8/25/2015

54 Soal Latihan 1. Diberikan sebuah mesin karakter dengan pita berisi karakter (mungkin kosong), hitunglah : - banyaknya kemunculan huruf hidup yang muncul pada pita tersebut. - frekuensi huruf hidup - banyaknya kemunculan setiap huruf hidup Definisikanlah dengan jelas apa yang dimaksud dengan huruf hidup. 54 8/25/2015

55 Referensi Diktat Kuliah IF2181 Struktur Data, Inggriani Liem, ITB, /25/2015

56 56 8/25/2015 THANK YOU

Mesin Karakter dan Mesin Kata

Mesin Karakter dan Mesin Kata Mesin Karakter dan Mesin Kata Tim Pengajar IF2030/Algoritma dan Struktur Data 10/15/09 FNA/IF2030/Mesin Kata 1 Mesin Mesin: mekanisme yang terdefinisi dan mengerti serta mampu untuk mengeksekusi aksi-aksi

Lebih terperinci

Mesin Abstrak. Tim Pengajar KU1071 Sem

Mesin Abstrak. Tim Pengajar KU1071 Sem Mesin Abstrak Tim Pengajar KU1071 Sem. 1 2008-2009 1 Tujuan Perkuliahan Mahasiswa memahami konsep mesin abstrak (kasus: Mesin Gambar dan Mesin Karakter) Mahasiswa memahami primitif-primitif yang terdefinisi

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

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan) Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Stack (Tumpukan) 1 8/25/2015 Pendahuluan Pada bab ini kita akan membahas tentang stack (tumpukan) Struktur data stack

Lebih terperinci

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB Pertemuan Ke 5 : List Linier (Linked List) Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit

Lebih terperinci

IKG2A3/ Pemrograman Terstruktur 2

IKG2A3/ Pemrograman Terstruktur 2 IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Representasi Fisik List Linier 1 8/25/2015 Pendahuluan Setelah representasi logic, perlu dilakukan represntasi fisik untuk

Lebih terperinci

LIST LINIER 1. DEFINISI

LIST LINIER 1. DEFINISI LIST LINIER 1. DEFINISI List linier adalah sekumpulan elemen bertype sama, yang mempunyai keterurutan tertentu, dan setiap elemennya terdiri dari dua bagian, yaitu informasi mengenai elemennya, dan informasi

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

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1 List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/2017 9/25/2017 IF2121/Sem I 2017/2018 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu

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

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pencarian pada Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Latar Belakang Merupakan proses yang penting karena sering dilakukan terhadap sekumpulan data yang disimpan

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment PROSEDUR Overview Prosedur Konsep Prosedur Prosedur Tanpa Input/Output Prosedur dengan

Lebih terperinci

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB Pertemuan Ke 3 Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit Informatika I. Tabel/Larik/Array

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Pencarian dalam Tabel Pendahuluan Pencarian Sekuensial Pencarian Sekuensial

Lebih terperinci

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem List Linier IF2030/Algoritma dan Struktur Data 11/6/2009 FNA+WDS/IF2030/Sem 1 0809 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu dan setiap elemen terdiri

Lebih terperinci

Representasi Logic List Linier

Representasi Logic List Linier IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Representasi Logic List Linier 1 8/25/2015 Pendahuluan Dalam bab ini, akan dibahas mengenai representasi logic dari list

Lebih terperinci

LATIHAN UTS Tim Pengajar KU1071 Sem

LATIHAN UTS Tim Pengajar KU1071 Sem LATIHAN UTS Tim Pengajar KU1071 Sem. 1 2010-2011 Soal 1 Buatlah sebuah program prosedural dalam notasi algoritmik yang akan membaca sebuah variabel Grs yang bertipe Garis. Informasi yang terkandung dalam

Lebih terperinci

Kode MK/ Pemrograman Terstruktur 2

Kode MK/ Pemrograman Terstruktur 2 Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Graf 1 8/25/2015 Pendahuluan Dalam bab ini kita akan membahas struktur data graf Struktur data graf banyak digunakan sebagai

Lebih terperinci

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1 Array (Tabel) Tim Pengajar KU1071 Sem. 1 2009-2010 2009/11/3 TW/KU1071 1 Tujuan Perkuliahan Mahasiswa memahami makna dan kegunaan array (tabel) Mahasiswa dapat menggunakan notasi pendefinisian dan pengacuan

Lebih terperinci

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Variasi List Linier

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Variasi List Linier IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Variasi List Linier 1 8/25/2015 Pendahuluan Pada Bab ini kita akan membahas tentang beberapa di antara variasi list linier,

Lebih terperinci

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian) Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Queue (Antrian) 1 8/25/2015 Pendahuluan Pada bab ini kita akan membahas queue, yang sebenarnya mempunyai ADT hampir sama

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

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Analisa Kasus >2 Struktur If...Then...Else Seringkali kita harus menjalankan

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Pengurutan Tabel Overview Bubble Sort Insertion Sort Overview Dalam bab ini

Lebih terperinci

SEQUENTIAL FILE. Tujuan Perkuliahan

SEQUENTIAL FILE. Tujuan Perkuliahan SEQUENTIAL FILE Tim Pengajar KU1071 Sem. 1 009-010 11/0/00911//08 KU1071/RSP 1 Tujuan Perkuliahan Mahasiswa memahami penggunaan file sekuensial Mahasiswa memahami primitif-primitif dasar dalam pemrosesan

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Pendahuluan Beberapa Definisi Mendefinisikan analisis kasus berarti juga

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

Pengantar List Linier

Pengantar List Linier IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Pengantar List Linier 1 8/25/2015 Pendahuluan Pada bab ini akan dibahas ide dari penggunaan list berkait (linked list)

Lebih terperinci

Selamat Mengerjakan. 2. Keluaran dari baris 10 adalah? a. 1 b. 4 c. 2.5 d. 2 e Keluaran dari baris 11 adalah? a. 1 b. 4 c. 2.5 d. 2 e.

Selamat Mengerjakan. 2. Keluaran dari baris 10 adalah? a. 1 b. 4 c. 2.5 d. 2 e Keluaran dari baris 11 adalah? a. 1 b. 4 c. 2.5 d. 2 e. LAT SOAL ALGORITMA DAN PEMROGRAMAN Selamat Mengerjakan Perhatikan kode program berikut ini untuk soal 1 hingga 3 1. : 2. a, b : integer 3. d, e : real 4. 5. a 15 6. b 6 7. d 5 8. e 2 9. output(a % b) 10.

Lebih terperinci

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1 Algoritma dan Pemrograman File Sekuensial Oleh: Eddy Prasetyo N 05/05/2014 1 Agenda Definisi Primitif Akses Primitif Penulisan Pemrosesan Arsip Sekuensial Algoritma Konsolidasi 05/05/2014 2 Definisi [1]

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE II

PENGANTAR KOMPUTER & SOFTWARE II PENGANTAR KOMPUTER & SOFTWARE II PERULANGAN 2 (WHILE & DO-WHILE) Tim Pengajar KU1202 - Institut Teknologi Sumatera Tujuan Kuliah 1. Mahasiswa memahami pengulangan (while dan do-while) dan penggunaannya

Lebih terperinci

Pembahasan Kuis. KU1071/Pengantar Teknologi Informasi A Sem /2011

Pembahasan Kuis. KU1071/Pengantar Teknologi Informasi A Sem /2011 Pembahasan Kuis KU1071/Pengantar Teknologi Informasi A Sem. 1 2010/2011 1. Program membaca sebuah variabel D yang bertipe Date, dan menghitung banyaknya hari dari tanggal 1 Januari pada tahun yang samadenganmasukanuser,

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Outline Record Definisi Deklarasi / Notasi Pengaksesan Operator Array of

Lebih terperinci

Soal hari Jumat (16/10) Latihan 10 MS

Soal hari Jumat (16/10) Latihan 10 MS hari Jumat (16/10) Latihan 10 MS count, sum, i adalah variabel tunggal bertipe data integer i 1 count 0 sum 0 while (i < 30) do sum sum + i count count + 1 i i + i 1. Berapakah final state variabel sum?

Lebih terperinci

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Waktu komputasi (dalam detik) Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma

Lebih terperinci

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon) Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Tree (Pohon) 1 8/25/2015 Pendahuluan Dalam bab ini kita akan khusus membahas mengenai binary tree Pembahasan tentang tree

Lebih terperinci

Algoritma dan Pemrograman Searching/Pencarian

Algoritma dan Pemrograman Searching/Pencarian Adam Mukharil Bachtiar Informatics Engineering 2011 Algoritma dan Pemrograman Searching/Pencarian Materi Definisi Pencarian Pencarian Sekuensial Pencarian Biner Definisi Pencarian All About Searching Definisi

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Outline Perintah Dasar Input Assignment Output Beberapa Aturan Tambahan Contoh

Lebih terperinci

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB Pertemuan Ke 6 : Representasi Fisik List Linier Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit

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

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF ARRAY STATIS (lanjutan) OPERASI ARRAY STATIS (lanjutan) 3. Pencarian (searching) array Proses menemukan suatu data yang terdapat dalam suatu array. Proses

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek Irwan Kurniawan 135 06 090 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung e-mail: if16090@students.if.itb.ac.id

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Tabel Pendahuluan Deklarasi Tabel Pengaksesan Tabel Program dengan Tabel

Lebih terperinci

Abstract Data Type (ADT)

Abstract Data Type (ADT) IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Abstract Data Type (ADT) 1 8/25/2015 Pendahuluan Pada bab ini kita akan membahas tentang Abstract Data Type (ADT) Mendefinisikan

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

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 Perulangan. Kuliah algoritma dan pemrograman

Algoritma Perulangan. Kuliah algoritma dan pemrograman Algoritma Perulangan Kuliah algoritma dan pemrograman Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari yang pertama sampai dengan instruksi terakhir, kemudian setiap instruksi

Lebih terperinci

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Apa itu Array? Array merupakan suatu variable yang mempresentasikan kumpulan elemen yang memiliki tipe data yang sama, diacu

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE II

PENGANTAR KOMPUTER & SOFTWARE II PENGANTAR KOMPUTER & SOFTWARE II PERULANGAN 2 (WHILE & DO-WHILE) Tim Pengajar KU1202 - Institut Teknologi Sumatera Tujuan Kuliah 1. Mahasiswa memahami pengulangan (while dan do-while) dan penggunaannya

Lebih terperinci

BAB VI SEARCHING (PENCARIAN)

BAB VI SEARCHING (PENCARIAN) BAB VI SEARCHING (PENCARIAN) 7. 1 Pencarian Beruntun (Sequential Search) Prinsip kerja pencarian beruntun adalah membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera PENGANTAR KOMPUTER & SOFTWARE II Pengulangan (For) Tim Pengajar KU1102 - Institut Teknologi Sumatera Tujuan Mahasiswa memahami jenis-jenis pengulangan dan penggunaannya serta memahami elemen-elemen dalam

Lebih terperinci

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16 Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16 4. ANALISIS LEKSIKAL Struktur Kompiler Analisis Leksikal Apa itu? Masukan bagi sebuah compiler/interpreter adalah program sumber yang strukturnya

Lebih terperinci

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N Topik Bahasan Pemrosesan Sequential Pencarian pada Array Sequential Boolean Sequential tanpa Boolean Binary Sentinel Pengurutan Count Sort

Lebih terperinci

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan) ALGORITMA PENCARIAN MINGGU KE: 9 TUJUAN: Mahasiswa dapat memahami masalah pencarian. Mahasiswa dapat memahami algoritma pencarian beruntun. Mahasiswa dapat memahami algoritma pencarian beruntun Versi 1

Lebih terperinci

BAB VII ALGORITMA DIVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER BAB VII ALGORITMA DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang

Lebih terperinci

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Ahmad Ayyub Mustofa Jurusan Teknik Informatika ITB, Bandung 40132, email: rekka_zan@students.itb.ac.id Abstraksi Bahasa pemrograman

Lebih terperinci

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN Yudhistira NIM 13508105 Mahasiswa Program Studi Teknik Informatika ITB Jalan Ganesha No.10 Bandung e-mail: if18105@students.if.itb.ac.id

Lebih terperinci

1, 2, 3

1, 2, 3 Penerapan Algoritma Depth First Search (DFS) Dinamis Untuk Menentukan Apakah Sebuah String Diterima Oleh Bahasa Reguler yang Didefinisikan Nondeterministic Finite Automata (NFA) Muhammad Ihsan, Ilden Abi

Lebih terperinci

Notasi Algoritmik. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Notasi Algoritmik. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Notasi Algoritmik Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Review Pemrograman prosedural Aksi: Intial state, final state harus jelas dan dalam range waktu yang terbatas Dapat

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

Pengantar Struktur Data

Pengantar Struktur Data IKG2A3 / Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Pengantar Struktur Data 1 8/25/2015 Deskripsi Singkat Matakuliah ini memberikan bekal tentang Konsep algoritma dan struktur

Lebih terperinci

Teknik Percabangan. Brigida Arie Minartiningtyas, M.Kom

Teknik Percabangan. Brigida Arie Minartiningtyas, M.Kom Teknik Percabangan Brigida Arie Minartiningtyas, M.Kom Jika lampu traffic light berwarna merah, maka berhenti If kondisi then aksi If air di dalam ketel mendidih then matikan api kompor If suhu ruangan

Lebih terperinci

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Algoritma Algoritma Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. suatu metode khusus yang tepat dan terdiri dari serang kaian langkah

Lebih terperinci

Bagian I. Studi Kasus [82] Tanda tangan:

Bagian I. Studi Kasus [82] Tanda tangan: UJIAN TENGAH SEMESTER GANJIL NIM: 2010/2011 dan Struktur Data / CS2014 Nama : HARI : Kamis, 30 Oktober 2009 WAKTU : 110 menit DOSEN : TIM SIFAT : Tutup Buku, No Electronic Device Tanda tangan: Petunjuk:

Lebih terperinci

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA Wahyu Fahmy Wisudawan Program Studi Teknik Informatika Institut Teknologi Bandung, NIM: 506 Jl. Dago Asri 4 No. 4, Bandung

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

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera PERULANGAN P E N G A N TA R P R O G R A M S T U D I Institut Teknologi Sumatera TUJUAN Mahasiswa memahami jenis-jenis pengulangan dan penggunaannya serta memahami elemen-elemen dalam pengulangan. Mahasiswa

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment File Sekuensial Pendahuluan Primitif-primitif Dalam File Sekuensial Perekaman

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

BAB II STACK Atau TUMPUKAN

BAB II STACK Atau TUMPUKAN BAB II STACK Atau TUMPUKAN List Linear (Daftar Linear). List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya disebut simpul (node). Simpul terdiri

Lebih terperinci

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Evan 1) 1) Program Studi Teknik Informatika ITB, Bandung, email: evangozali@yahoo.com Abstract Makalah ini membahas aplikasi graf dalam

Lebih terperinci

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search}

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search} Pertemuan XII - PENCRIN Pengertian Pencarian data adalah suatu proses untuk mengumpulkan informasi dalam media penyimpanan komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.

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

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

BAB V STRUKTUR PENGULANGAN

BAB V STRUKTUR PENGULANGAN BAB V STRUKTUR PENGULANGAN Pendahuluan Dalam algoritma/pemrograman disediakan struktur pengulangan untuk mengerjakan instruksi yang sama lebih dari satu kali. Dalam bahasa C/C++ terdapat 3 bentuk struktur

Lebih terperinci

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK Dwitiyo Abhirama - 13505013 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung e-mail: if15013@students.if.itb.ac.id

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

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO Nur Fajriah Rachmah NIM 13506091 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha nomor

Lebih terperinci

Soal hari Selasa (13/10) Latihan 7 AN

Soal hari Selasa (13/10) Latihan 7 AN hari Selasa (13/10) Latihan 7 AN Kamus Data X, Y adalah variabel tunggal bertipe data integer if X > 4 then Y 5 1. Pernyataan yang salah tentang algoritma di atas adalah... a. X dan Y pasti bilangan bulat

Lebih terperinci

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma Pengantar dan Pemrograman alex@ilmukomputer.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit),

Lebih terperinci

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1 SEARCHING Pencarian data (searching) yang sering juga disebut dengan table look-up atau storage and retrieval information, adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer

Lebih terperinci

ALGORITMA & PEMROGRAMAN

ALGORITMA & PEMROGRAMAN ALGORITMA & PEMROGRAMAN Oleh: Tim Algoritma & Pemrograman IF Linked List PENGERTIAN LINKED LIST Salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung,

Lebih terperinci

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pengurutan pada Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pengurutan (Sorting) Sorting atau pengurutan data adalah proses yang sering harus dilakukan dalam pengolahan

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

Array (Tabel) bagian 2

Array (Tabel) bagian 2 Array (Tabel) bagian 2 Tim Pengajar KU71 Sem. 1 2009-20 2009/11/17 TW/KU71 1 Tujuan Perkuliahan Mahasiswa dapat menggunakan notasi pendefinisian dan pengacuan array dengan benar Mahasiswa memahami proses

Lebih terperinci

Pemrograman Prosedural FUNGSI (Subprogram) Tim Pengajar KU1071 Sem

Pemrograman Prosedural FUNGSI (Subprogram) Tim Pengajar KU1071 Sem Pemrograman Prosedural FUNGSI (Subprogram) Tim Pengajar KU1071 Sem. 1 2009-2010 1 Tujuan Perkuliahan Mahasiswa memahami makna dan kegunaan fungsi sebagai salah satu sub program Mahasiswa dapat menggunakan

Lebih terperinci

Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut

Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut Mohammad Rizky Adrian 1) 1) Jurusan Teknik Informatika ITB, Bandung 40132, email: if17108@students.if.itb.ac.id Abstract Makalah ini

Lebih terperinci

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE Mohammad Dimas (13507059) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha

Lebih terperinci

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ; Maka sekarang kita mempunyai dua buah simpul yang ditunjuk oleh P1 dan P2. Setelah itu kita dapat melakukan pengaksesan data, yaitu dengan menuliskan : P1^.Nama_Peg := Ariswan ; P1^.Alamat := Semarang

Lebih terperinci

Rekursif/ Iterasi/ Pengulangan

Rekursif/ Iterasi/ Pengulangan Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi Penyaji : Rekursif : Zulkarnaen NS 1 Rekursif/ Iterasi/ Pengulangan Instruksi perulangan digunakan untuk menjalankan satu atau beberapa insturksi

Lebih terperinci

Pengertian Dasar Konstruksi Pemrograman Prosedural. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pengertian Dasar Konstruksi Pemrograman Prosedural. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pengertian Dasar Konstruksi Pemrograman Prosedural Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Program Prosedural dan Prosedural Program dalam bahasa C termasuk pemrograman

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) IKG2A3 PEMOGRAMAN TERSTRUKTUR II Disusun oleh: PROGRAM STUDI ILMU KOMPUTASI FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana Pembelajaran Semester (RPS)

Lebih terperinci

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari MATERI Teks/string Pointer File Struktur Kelas/Class Konstruktor dan Destruktor Kelas dan Obyek Overloading Operator Inheritance (Pewarisan)

Lebih terperinci