BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif"

Transkripsi

1 Prosedure PrefixSpan(input: a: l: integer, S: Sequence database) { Mencari Sequential Pattern pada sequence database S } Deklarasi D : Temporary Sequence Database Lst : List of Sequential Pattern Sq : Sequence Algoritma BAB IV PERANCANGAN Pada Bab IV ini akan dijelaskan perancangan program dengan mengimplementasikan alternatif solusi yang dikemukakan pada Subbab III.5. IV.1 Evaluasi Usulan untuk Perancangan Iteratif Berikut akan diberikan evaluasi usulan yang diberikan. 1. Bentuk iteratif PrefixSpan. Perubahan dari rekursif menjadi iteratif mutlak dilakukan untuk melakukan pencegahan program berhenti ketika dijalankan. Adapun algoritma iteratif dari PrefixSpan dapat dilihat pada Algoritma IV-1. Lst.add( <>,S) Sq <- Lst.Pop( ) While Sq!= NULL D <- Sq.database D.findOneSequence( ) Foreach OneSequence do D.projected( each Elmt ) Lst.add( concat (Sq.value, each Elmt) ) Endfor Endwhile Algoritma IV-1 Algoritma PrefixSpan iteratif 2. Penggunaan multithreading. Penggunaan multi-threading akan menyebabkan perubahan pada arsitektur program dan terdapat penambahan kelas, namun tidak merubah algoritma atau proses yang terjadi pada masing-masing kelas yang sudah ada sebelumnya, hanya tata cara pencarian sequential pattern yang mengalami perubahan untuk mengakomodasi penggunaan multi-threading. 3. Penyimpanan sequence database pada file external. Sesuai dengan analisis dan percobaan yang dilakukan, penyimpanan harus dilakukan pada file external. Implementasi hal ini memerlukan sedikit perubahan pada mekanisme pembacaan IV-1

2 IV-2 sequence pada kelas Data. Tentunya perlu penambahan untuk keperluan penanganan I/O. 4. Scan database dengan menggunakan metode divide and conquer. Divide and conquer memiliki kinerja yang lebih baik apabila algoritma tersebut tidak harus memeriksa semua baris dari data untuk menyelesaikan prosesnya. Sedangkan untuk kasus ini, setiap sequence yang ada memang harus diperiksa seluruhnya, sehingga scan database untuk metode divide and conquer tidak diimplementasi karena tidak akan meningkatkan kinerja. 5. Perubahan cara mencari frequent sequence 1 elemen. Hal ini tentunya akan merubah detail algoritma bagaimana cara mencari frequent sequence 1 elemen. Namun perubahan itu hanya pada tingkat method, tidak sampai mengubah arsitektur kelas karena input dan outputnya masih sama seperti sebelumnya. IV.2 Rancangan Implementasi Alternatif yang Digunakan Dari alternatif yang dianalisis di IV.1, usulan yang pertama kali diimplementasikan adalah usulan nomor satu, yaitu mengubah PrefixSpan dari rekursif menjadi iteratif. Berdasarkan konsep yang dijelaskan pada II.4.2, PrefixSpan terdiri dari tiga kegiatan utama, yaitu mendapatkan 1-length frequent sequence, mengabungkan dengan prefix yang berkaitan dengannya, dan memroyeksikan untuk pencarian sequential pattern lainnya. Oleh karena itu, algoritma PrefixSpan dalam bentuk iteratifnya harus dibangun dengan memperhatikan tiga kegiatan utama tersebut. Dengan analisis seperti itu, konsep algoritma PrefixSpan versi iteratif dapat dilihat pada Gambar IV-1. Konsep pada Gambar IV-1 membuka peluang untuk dilakukan multi-threading yang baik, karena setiap sequential pattern yang dihasilkan memiliki alamat sequence database per sequence, sehingga proses pencarian setiap elemen dalam queue dapat dilakukan terpisah. Dengan alur seperti pada Gambar IV-1, multithreading dapat digunakan dengan baik pada saat mencari 1-length frequent sequence dalam database, karena pada proses tersebut, setiap sequential pattern dalam queue memiliki projected database masingmasing.

3 IV-3 Gambar IV-1 Alur Konsep algoritma PrefixSpan iteratif Untuk alternatif format data yang akan digunakan, akan diimplementasikan dalam kelas Sequence, sedangkan kelas Data akan mengimplementasikan metode scan dengan menggunakan divide and conquer. Dan untuk algoritma PrefixSpan versi iteratif, akan menjadi salah satu method dalam kelas PrefixSpan pada rancangan yang ditunjukkan oleh Gambar III-2. Kelas diagram rancangan program setelah mengimplementasikan strategi alternatif dapat dilihat pada Gambar IV-2. Pada diagram tersebut, perbedaan yang paling terlihat dengan kelas diagram yang lama adalah adanya kelas baru, yaitu kelas Job. Pada arsitektur ini, kelas Job dimasukkan untuk memfasilitasi program multithreading, dimana akan ada satu thread untuk setiap instance kelas ini. Selain itu, pencarian sequential pattern menjadi tanggung jawab dari kelas Job ini, karena proses-proses inti untuk mencari sequential pattern tidak lagi dipanggil oleh kelas PrefixSpan, melainkan oleh kelas Job.

4 IV-4 Gambar IV-2 Diagram Kelas perancangan Pada arsitektur baru ini, kelas PrefixSpan akan menciptakan instance baru dari kelas Job untuk setiap sequential pattern terdapat pada list of sequential pattern. Setiap instance job yang dipanggil akan mencari sequential pattern baru untuk dimasukkan ke dalam list yang dikelola oleh instance PrefixSpan yang memanggilnya. Untuk lebih jelas, Sequence diagram dari pencarian sequential pattern dapat dilihat pada Gambar IV-3. Gambar IV-3 Sequence Diagram perancangan

5 IV-5 Setelah pengguna memasukkan nama file yang menjadi sequence database, instance kelas PrefixSpan akan menciptakan instance Job dari sequential pattern "<>", dimana Sequence tersebut merupakan prefix untuk pencarian oleh instance Job ini. Pada Gambar IV-3, instance Job hanya melakukan pencarian untuk projected database yang diberikan, sedangkan untuk keseluruhan sequential pattern, didapatkan dengan menciptakan banyak instance kelas Job. Nantinya akan dibangun empat program PrefixSpan, yaitu PrefixSpan Dasar, PrefixSpan Multithread, PrefixSpan Pembahasan, dan PrefixSpan keseluruhan. Hal ini dilakukan untuk melihat efek dari masing-masing alternatif yang dikemukakan terhaap waktu proses dari PrefixSpan. Hubungan antara keempat PrefixSpan dengan alternatif yang dikemukakan dapat dilihat pada Tabel IV-1. Tabel IV-1 Pemetaan Program dengan Alternatif Algoritma Iteratif Dasar Multithread Pembatasan Keseluruhan Penyimpanan data pada file Multithreading Pembatasan pembangkitan Meski mengimplementasikan alternatif yang berbeda, dasar dari empat program tersebut adalah sama. Keempat algoritma tersebut bahkan memiliki diagram kelas yang sama kecuali antara yang mengimplementasikan multithread. Perancangan yang dibahas pada Bab ini adalah perancangan untuk PrefixSpan Keseluruhan. IV.3 Rancangan Multithread Sesuai dengan analisis yang dilakukan pada III.6, multithreading program terletak para pemrosesan sequential pattern yang dimiliki. Akan diciptakan beberapa thread yang siap untuk melakukan pekerjaannya yaitu mencari sequential pattern dari sequence database. Main thread program yang akan memberikan pekerjaan tersebut dan mengaktifkan thread yang mendapatkannya. Setelah selesai mencari sequential pattern, suatu thread akan menunggu hingga diberikan tugas berikutnya, atau dimatikan jika tidak ada tugas lanjutan.

6 IV-6 IV.4 Rancangan Kelas Rancangan kelas keseluruhan dapat dilihat pada Gambar IV-2, Berikut akan dipaparkan lebih lanjut mengenai kelas-kelas tersebut dan hubungannya dengan masalah yang terdapat pada Bab Analisis. IV.4.1 Sequence Kelas Sequence adalah kelas yang dirancang untuk melakukan penyimpanan sequence, proyeksi sequence terhadap suatu prefix dan penggabungan suatu postfix dengan prefixnya. Pada kelas ini, sequence disimpan dalam tipe data string. Ketika hendak melakukan proses yang berkaitan dengan sequence tersebut, suatu array of string dibangkitkan untuk mempermudah proses. Array tersebut akan dibebaskan ketika proses untuk sequence tersebut telah selesai, sehingga memory yang dibutuhkan tetap akan stabil. Kelas ini dirancang untuk memfasilitasi mekanisme proyeksi. Seperti yang telah dijelaskan pada Subbab III.1.2, terdapat enam kemungkinan bentuk yang harus ditangani dalam proses ini. Semua tercakup dalam satu fungsi yang bernama Projection, yang menerima masukkan string prefix dan string projector, dan mengembalikan string sequence yang telah terproyeksi. Method ini terdiri dari tiga tahap, tahap pembentukkan array, tahap proses dengan mengiterasi array, dan tahap penggabungan array. Prinsipnya, ketika proyeksi hendak dilakukan, dibangkitkan dua array of string, array of string projector dan array of string sequence. Kemudian, dilakukan iterasi terhadap array of string sequence, dan akan diperiksa apakah elemen tersebut terkadung dalam array of projector. Apabila ada, maka akan ada variabel I yang mencatat pada elemen ke berapakah suatu projector terkandung. Jika sampai pada akhir iterasi, tidak semua array of projector terkandung dalam array of sequence, maka tidak aka nada tahap penggabungan array, karena hasilnya memang seharusnya sequence kosong. Jika terkandung semua, maka penggabunga dimulai dari elemen dengan urutan yang diacu variabel i sampai pada akhir array. Rancangan algoritmanya dapat dilihat pada Algoritma IV-2. Pada Algoritma IV-2, hanya terdapat empat cabang if, yang berarti hanya terdapat empat kasus. Hal ini tampak berbeda dengan yang terdapat pada Subbab III.1.2.

7 IV-7 Namun sebenarnya tidak, karena dua kasus lainnya sudah tertangani dengan otomatis oleh algoritma tersebut. Function Projection(input: prefix: string, Projector: string)-> string { Memroyeksi this.sequence dengan Projector } Deklarasi Return_value : string; Algoritma TableOfSequenceElemen <- this.sequence.split(, ); TableOfProjectorElemen <- Projector.split(, ); Int I <- 0; Int j <- 0; While(I < TableOfSequence.Length) do If Projector mengandung _ dan elemen mengandung _ then /*Proyeksi untuk kasus tersebut*/ Else If Projector mengandung _ dan elemen mengandung ( then /*Proyeksi untuk kasus tersebut*/ Else If Elemen mengandung ( then /*Proyeksi untuk kasus tersebut*/ Else j++; endif /*Proses setelah proyeksi. Memajukan counter untuk TableOfSequence*/ Endwhile /*lakukan penggabungan kembali dari TableOfSequence menjadi string*/ Return Return_value; Algoritma IV-2 Algoritma Proyeksi Untuk penggabungan prefix dengan posfixnya, dari sembilan kasus yang mungkin terjadi seperti yang dikemukakan pada Subbab III.1.3, penanganannya cukup dengan memperhatikan dua kasus utama, seperti yang telah dipaparkan pada Subbab III dan Subbab III IV.4.2 Data Berbeda dengan kelas Sequence yang dibangun untuk keperluan pemrosesan per sequence, kelas Data dibangun untuk memfasilitasi pemrosesan keseluruhan sequence yang terdapat dalam sequence database. Sehingga kelas Data juga bertanggung jawab

8 IV-8 dalam menangani akses terhadap file external, tempat dimana sequence database tersebut disimpan. Function findfrequentsequenceoneelemen(input: prefix: string)-> List of string { Mencari Frequent Sequence satu elemen pada sequence database } Deklarasi Return_value : List of string; Algoritma /*inisiasi variabel variabel local pendukung proses*/ While(masih terdapat sequence dalam sequence database) do While (masih terdapat elemen pada sequence) do Foreach frequent sequence 1 elemen do If sama dengan elemen yang tersimpan do Tambahkan counter untuk elemen tersebut Endif Endfor Endwhile Endwhile /*iterasi kembali list of frequent sequence 1 elemen, elemen dengan nilai counter yang melewati threshold akan dimasukkan ke dalam Return_value.*/ Return Return_value; Algoritma IV-3 Algoritma pencarian frequent sequence satu elemen Kelas Data bertanggung jawab dalam mencari frequent sequence dengan 1 elemen dan proyeksi terhadap keseluruhan sequence database. Lain hanya dengan proses proyeksi, dimana kelas Data dapat mendelegasikannya kepada kelas Sequence, pencarian frequent sequence memang hanya dapat dilakukan oleh kelas ini. Algoritma pencarian ini terdiri dari tiga tahap, tahap insiasi, tahap iterasi, dan tahap penghapusan. Pada tahap inisiasi, dilakukan pembangkitan Map dengan sequence satu elemen sebagai key-nya dan integer sebagai value-nya. Sequence yang tersimpan adalah kandidat frequent sequence, sedangkan integer pada value sebagai penghitung jumlah kemunculannya pada sequence database. Tahap iterasi melakukan pengisian Map tersebut, sedangkan tahap penghapusan melakukan penghapusan terhadap elemen pada Map tersebut yang value-nya tidak sesuai dengan nilai threshold. Algoritma umumnya dapat dilihat pada Algoritma IV-3.

9 IV-9 IV.4.3 Job Kelas Job adalah kelas yang dibangun untuk keperluan multithreading. Pada rancangan program yang single-thread, kelas Job ini tidak ada. Pada proses pencarian sequential pattern, kelas Job ini berperan dalam pemanggilan pencarian frequent sequence 1 elemen, menggabungkan frequent sequence tersebut dengan prefixnya dan menyimpan hasil gabungan ke dalam list of sequential pattern. Setiap instance kelas Job, yang mewakili satu thread untuk masing-masing, akan memegang sequence database sendiri sehingga tidak ada informasi yang dipertukarkan antar thread. Kelas ini pada implementasikan merupakan turunan dari interface Runnable, sehingga harus mengimplementasi method Run(). Algoritma yang terdapat pada Algoritma IV-1 diimplementasikan pada method Run() ini. IV.4.4 SP Kelas ini lebih tepat disebut dengan tipe data, karena tidak memiliki method selain default konstruktor. Kelas ini terdiri dari dua atribut, yaitu sequence dan filename, yang mana keduanya adalah variabel bertipe string. Kelas ini berfungsi untuk menyimpan sequence dari sequential pattern yang dihasilkan, dan hasil proyeksi database tersebut terhadap sequence-nya. IV.4.5 PrefixSpan Kelas ini pada tahap Perancangan mengalami perubahan fungsi dibandingkan dengan pada tahap Analisis. Pekerjaan yang dilakukan kelas ini pada tahap Analisis telah didelegasikan kepada kelas Job, sehingga kelas PrefixSpan tetap dibutuhkan untuk mengelola thread-thread yang nantinya akan banyak bermunculan. Method utama pada kelas ini, findsequentialpattern(), terdiri dari dua tahap. Tahap pertama adalah tahap inisiasi variabel-variabel pendukung proses, tahap kedua adalah tahap iterasi pembangkitan instance kelas Job. Iterasi akan dilakukan selama masih terdapat instance Job yang sedang berjalan dan elemen frequent sequence yang masih dapat diproses untuk menghasilkan frequent sequence lebih lanjut.

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence BAB III ANALISIS Mula-mula, Bab ini akan mengemukakan analisis yang dilakukan terhadap algoritma PrefixSpan [PEI01]. Kemudian dilakukan rancangan dan implementasi algoritma tersebut. Setelah itu, program

Lebih terperinci

Strategi Implementasi Peningkatan Waktu Proses Algoritma PrefixSpan untuk Sequential Pattern Mining

Strategi Implementasi Peningkatan Waktu Proses Algoritma PrefixSpan untuk Sequential Pattern Mining Strategi Implementasi Peningkatan Waktu Proses Algoritma PrefixSpan untuk Sequential Pattern Mining LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh : Riza Ramadan / 13503037 PROGRAM

Lebih terperinci

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016 Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 2: 16 Mei 2016 Teknik rekursif dan iteratif Algoritma rekursif adalah algoritma yang memanggil dirinya sendiri sampai tercapai kondisi yang ditetapkan

Lebih terperinci

DAFTAR REFERENSI. xiii. Computer Science Education, San Jose, United States, 1997.

DAFTAR REFERENSI. xiii. Computer Science Education, San Jose, United States, 1997. DAFTAR REFERENSI [AGR95] [AHW03] [CAR06] [GKK01] [HAN01] [JAC97] [PEI01] [RSL95] Agrawal, Rakesh, Ramakrishnan Srikant. 1995. Mining Sequential Patterns. IBM Research Center. Agrawal, C, Han, Jiawei, Wang,

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN Pada bab ini akan dibahas mengenai analisis dan perancangan pada sistem ng dibangun, itu penerapan algoritma Backtrack dalam membangkitkan elemen awal permainan Sudoku.

Lebih terperinci

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 4 FUNGSI (FUNCTION) PADA C++ 1 Outline Konsep Dasar Fungsi Standar File Header Definisi Fungsi Deklarasi Fungsi

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM 30 BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Pada bab ini akan dibahas mengenai analisis permainan, yaitu konsep aturan dan cara bermain pada game yang berhubungan dengan program yang

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS 29 BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS Dengan menggunakan Visual Basic 6.0 aplikasi perangkat ajar pengelolaan dan perhitungan ekspresi matematika yang akan dibangun dalam penelitian

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

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN Kondisi pengolahan data yang telah dijabarkan sebelumnya pada bab 1 (satu) memiliki keterkaitan terhadap permasalahan yang teridentifikasi. Yaitu permasalahan terkait desain

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi hasil keluaran produksi. Ada 4 faktor yang saling berhubungan satu dengan yang

Lebih terperinci

2.2 Data Mining. Universitas Sumatera Utara

2.2 Data Mining. Universitas Sumatera Utara Basis data adalah kumpulan terintegrasi dari occurences file/table yang merupakan representasi data dari suatu model enterprise. Sistem basisdata sebenarnya tidak lain adalah sistem penyimpanan-record

Lebih terperinci

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar STRUKTUR DATA Nama : Sulfikar Npm : 2013020076 STMIK Handayani Makassar Pengertian Quick Sort Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962. Dasar strateginya adalah memecah dan

Lebih terperinci

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes. Divide and Conquer Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes. Strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama Divide and Conquer.

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 DIVIDE AND CONQUER

ALGORITMA DIVIDE AND CONQUER ALGORITMA DIVIDE AND CONQUER By Gapra. Email : ga_pra_27@yahoo.co.id 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan

Lebih terperinci

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code Gregorius Ronny Kaluge / 13508019 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data Restu Arif Priyono / 13509020 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

MAKALAH ALGORITMA DIVIDE AND CONQUER

MAKALAH ALGORITMA DIVIDE AND CONQUER MAKALAH ALGORITMA DIVIDE AND CONQUER Galih Pranowo Jurusan Matematika Ilmu Komputer FAKULTAS SAINS TERAPAN INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 1. Pengertian Algoritma Divide and Conquer merupakan

Lebih terperinci

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer. FUNGSI (FUNCTION) PADA C++ KONSEP DASAR Program komputer yang dibuat untuk menjawab permasalahan umumnya berukuran sangat besar. Pengalaman telah menunjukkan bahwa cara terbaik untuk mengembangkan dan

Lebih terperinci

OPERASI PERNYATAAN KONDISI

OPERASI PERNYATAAN KONDISI OPERASI PERNYATAAN KONDISI A. Pernyataan IF pernyataan if mempunyai pengertian, jika kondisi bernilai benar, maka perintah dikerjakan dan jiak tidak memenuhi syarat maka diabaikan. Dapat dilihat dari diagram

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

LOGO STRUKTUR DATA QUEUE

LOGO STRUKTUR DATA QUEUE STRUKTUR DATA QUEUE Queue (antrian) adalah barisan elemen yang apabila elemen ditambah, maka penambahannya berada pada posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling

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

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Proses Aplikasi Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Deskripsi Materi ini membahas tentang algoritma brute force dengan berbagai studi kasus Definisi Brute Force Straighforward (lempeng) Sederhana dan jelas Lebih mempertimbangkan solusi

Lebih terperinci

Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1

Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1 Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1 Dr. Putu Harry Gunawan (PHN) Quiz I 1. Tentukan operasi dasar, c op dan C(n) untung masing-masing algoritma

Lebih terperinci

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Annisa Muzdalifa - 13515090 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB III METODE PENELITIAN / PERANCANGAN SISTEM. perancangan dan pembuatan program ini meliputi : dengan konversi notasi infix, prefix, dan postfix.

BAB III METODE PENELITIAN / PERANCANGAN SISTEM. perancangan dan pembuatan program ini meliputi : dengan konversi notasi infix, prefix, dan postfix. 21 BAB III METODE PENELITIAN / PERANCANGAN SISTEM 3.1. Metode Penelitian Metodologi penelitian yang digunakan untuk mendukung penyelesaian perancangan dan pembuatan program ini meliputi : 1. Studi literatur

Lebih terperinci

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak Modular Programming Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak mudah dihandle. dl Kesulitan: sulit mencari dan mengingat variabel-variabel aiabel yang sudah

Lebih terperinci

KOTLIN, SIAPA SUKA. Dasar. P. Tamami BPPKAD Kab. Brebes

KOTLIN, SIAPA SUKA. Dasar. P. Tamami BPPKAD Kab. Brebes KOTLIN, SIAPA SUKA KOTLIN, SIAPA SUKA Dasar P. Tamami BPPKAD Kab. Brebes BAB 1 MEMULAI Perlu diketahui bahwa Kotlin ini adalah bahasa pemrograman yang berjalan di atas JVM, sehingga diperlukan Java Runtime

Lebih terperinci

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Veren Iliana Kurniadi 13515078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube Felix Terahadi - 13510039 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

PROCEDURE DAN FUNCTION

PROCEDURE DAN FUNCTION PROCEDURE DAN FUNCTION Pada awal perkenalan bahasa C++ telah dibahas singkat seputar algoritma. Dasarnya, algoritma adalah suatu pemetaan yang membantu kita dalam merancang program. Hal ini dikarenakan

Lebih terperinci

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung Algoritma Heap Sort Paul Gunawan Hariyanto 1, Dendy Duta Narendra 2, Ade Gunawan 3 Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Lebih terperinci

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya : VI. FUNGSI 6.1. FUNGSI Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil

Lebih terperinci

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang Stefanus Thobi Sinaga / 13510029 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

ALGORITMA PENGURUTAN & PENCARIAN

ALGORITMA PENGURUTAN & PENCARIAN Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan

Lebih terperinci

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Pendahuluan Struktur Data. Nisa ul Hafidhoh Pendahuluan Struktur Data Nisa ul Hafidhoh nisa@dsn.dinus.ac.id 08156114760 Tujuan Mahasiswa dapat melakukan pemrograman dalam skala menengah dengan memanfaatkan struktur data internal yang kompleks dan

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION POINTER POINTER ADALAH SUATU VARIABEL PENUNJUK, BERISI NILAI YANG MENUNJUK ALAMAT SUATU LOKASI MEMORI TERTENTU. JADI POINTER TIDAK BERISI NILAI DATA, MELAINKAN

Lebih terperinci

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN Pada bab ini akan dibahas mengenai analisis secara umum, analisis kebutuhan perangkat lunak dan penjelasan mengenai perancangan perangkat lunak. 3.1 Analisis Masalah Umum

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

Algoritma Exhaustive Search Dalam Permainan Congklak

Algoritma Exhaustive Search Dalam Permainan Congklak Algoritma Exhaustive Search Dalam Permainan Congklak Sigit Aji Nugroho (13510021) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

QUEUE (ANTRIAN) Struktur Data - Queue

QUEUE (ANTRIAN) Struktur Data - Queue QUEUE (ANTRIAN) Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling depan

Lebih terperinci

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy Dita Anindhika 13509023 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009 SOAL C++ 1. Penulisan Preprocessor yang benar di awali dengan tanda pound atau tanda : a. # c. @ b. & d. = 2. Contoh penulisan file header yang benar yaitu : a. &include c. =include

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

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

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program Pencarian Overview Pencarian merupakan sebuah algoritma dasar yang sering diperlukan dalam pembuatan program. Berbagai algoritma pencarian telah diciptakan dan dapat digunakan. Pemahaman tentang beberapa

Lebih terperinci

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) Di susun oleh: Wahyono ( 06/193218/PA/10892 ) Praktikan Algoritma dan Pemrograman Kelas A 7 Mei 2007 LABORATORIUM KOMPUTASI

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

PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI)

PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI) PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI) Ibnu Sina Wardy - 50505 Teknik Informatika Institut Teknologi Bandung Jl. Ganeca 0 Bandung Email : if505@students.if.itb.ac.id ABSTRAK

Lebih terperinci

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berorientasi. Class dan Obyek 2 Pemrograman Berorientasi Obyek Class dan Obyek 2 anton@ukdw.ac.id Method main pada Java public static void main(string[] args) Merupakan bagian yang dieksekusi oleh program Java Sifat: public, static,

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN Analisis dan perancangan sistem memerlukan tahapan yang sistematis untuk mendapatkan aplikasi yang baik dan bersesuaian dengan kegunaan dan tujuannya. Tahap awal dari analisis

Lebih terperinci

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel Chapter 5 Pointer dan References Agenda Pada chapter ini kita akan membahas beberapa topik yang berhubungan dengan pointer dan reference yaitu: Penggunaan Pointer. Pointer dan Array. Mengalokasikan memory

Lebih terperinci

III Bab III Analisis dan Perancangan

III Bab III Analisis dan Perancangan III Bab III Analisis dan Perancangan Pada bab ini dijelaskan mengenai tahap analisis dan perancangan. Proses analisis dilakukan untuk menemukan solusi dari permasalahan yang telah diajukan sebelumnya pada

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

Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver

Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver 4 2 Modul permainan untuk user akan menampilkan graphic user interface berupa soal N-puzzle yang dapat dimainkan oleh user dan solusinya. 3 Modul untuk pengujian akan menampilkan soal yang dibangkitkan,

Lebih terperinci

BAB III ANALISIS ALGORITMA

BAB III ANALISIS ALGORITMA BAB III ANALISIS ALGORITMA III.1 Analisis Sistem Bab ini akan membahas tentang analisis dan perancangan sistem algoritma knapsack dengan data proyek yang digunakan bersumber dari PT. GITS Indonesia. Terdapat

Lebih terperinci

A. Dasar Teori. Urutan (Sequence) Pemilihan (Selection) Pengulangan (Iteration) Pernyataan Kondisional (If Statement)

A. Dasar Teori. Urutan (Sequence) Pemilihan (Selection) Pengulangan (Iteration) Pernyataan Kondisional (If Statement) A. Dasar Teori PHP melakukan eksekusi perintah mulai dari baris pertama kemudian ke baris berikutnya, sampai baris yang terakhir. Struktur kontrol digunakan untuk mengatur alur logika program agar sesuiai

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

ANALISA PERANCANGAN PROGRAM

ANALISA PERANCANGAN PROGRAM Pertemuan 5 ANALISA PERANCANGAN PROGRAM Spesifikasi Proses Spesifikasi Proses atau minispec, karena merupakan Sebagian kecil dari spesifikasi proyek total yang diciptakan untuk proses-proses primitif atas

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisa Sistem Yang Sedang Berjalan Dalam penulisan skripsi ini, penulis membahas dan menguraikan tentang masalah sistem informasi geografis menentukan lokasi

Lebih terperinci

Algoritma dan Struktur Data. Ramos Somya

Algoritma dan Struktur Data. Ramos Somya Algoritma dan Struktur Data Ramos Somya Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat banyak record,

Lebih terperinci

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER Danang Arief Setyawan NIM : 3559 Program Studi Teknik Informatika Institut Teknologi Bandung e-mail: das_centauri@yahoo.com

Lebih terperinci

BAB III PEMODELAN MASALAH

BAB III PEMODELAN MASALAH BAB III PEMODELAN MASALAH Masalah penjadwalan kereta api jalur tunggal dapat dimodelkan sebagai sebuah kasus khusus dari masalah penjadwalan Job-Shop. Hal ini dilakukan dengan menganggap perjalanan sebuah

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM Bab ini menjelaskan tentang analisis dan perancangan dalam membangun Aplikasi Data Mining. Analisis meliputi analisis data mining, analisis lingkungan sistem serta

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu

Lebih terperinci

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma Yudha Dwi P. N. S.Kom Pertemuan 3 Aturan Penulisan Teks Algoritma Aturan Penulisan Teks Algoritma Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis

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

Algoritma Runut-balik (Backtracking) Bagian 1

Algoritma Runut-balik (Backtracking) Bagian 1 Algoritma Runut-balik (Backtracking) Bagian 1 Pendahuluan Algoritma Runut-balik (backtracking) adalah algoritma yang berbasis pada DFS untuk mencari solusi persoalan secara lebih mangkus. Runut-balik,

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 13 Algoritma Pencarian (Searching) A. TUJUAN PEMBELAJARAN Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami konsep pencarian dengan metode sequential search dan

Lebih terperinci

LOGIKA ALGORITMA. Pertemuan 6. By: Augury

LOGIKA ALGORITMA. Pertemuan 6. By: Augury LOGIKA ALGORITMA Pertemuan 6 By: Augury augury@pribadiraharjacom Sequence Algoritma yang merupakan runtunan (sequence) satu atau lebih instruksi, yaitu berarti: 1 Tiap instruksi dikerjakan satu persatu

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

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik Edward Hendrata (13505111) Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung E-mail: if15111@students.if.itb.ac.id

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

BAB 5 PERULANGAN DAN ARRAY

BAB 5 PERULANGAN DAN ARRAY Bab 5 Perulangan dan Array 66 BAB 5 PERULANGAN DAN ARRAY TUJUAN PRAKTIKUM 1. Praktikan mengerti apa yang dimaksud dengan perulangan 2. Praktikan mengerti apa yang dimaksud dengan seleksi kondisi 3. Praktikan

Lebih terperinci

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Algoritma Runut-balik pada Permainan Math Maze Penerapan Algoritma Runut-balik pada Permainan Math Maze Angela Lynn - 13513032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Penerapan Algoritma Greedy pada Artificial Inteligence dalam Permainan Defence of the Ancient

Penerapan Algoritma Greedy pada Artificial Inteligence dalam Permainan Defence of the Ancient Penerapan Algoritma Greedy pada Artificial Inteligence dalam Permainan Defence of the Ancient Gurun Nevada Dharan/ 13509076 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi

Lebih terperinci

Decrease and Conquer

Decrease and Conquer Decrease and Conquer Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB 1 Decrease and conquer: metode desain algoritma

Lebih terperinci

Gambar 3.1. Circular Single Linked List. Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List.

Gambar 3.1. Circular Single Linked List. Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List. III. Circular Linked List Circular Linked List adalah suatu linked list yang tidak memiliki nilai nil/null untuk medan sambungannya. Perhatikan Gambar 3.1 dan Gambar 3.2. Gambar 3.1. Circular Single Linked

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA Modul ke: 03 Fitrianingsih, Fakultas FASILKOM ALGORITMA DAN STRUKTUR DATA OLEH : Skom., MMSI Program Studi Sistem Informasi Bagian Isi POINTER POINTER DAN ADDRESS POINTER DAN FUNCTION LINKED LIST ALGORITMA

Lebih terperinci

TUGAS Mata Kuliah : Sistem Terdistribusi

TUGAS Mata Kuliah : Sistem Terdistribusi TUGAS Mata Kuliah : Sistem Terdistribusi OLEH : Nama : TARSO NIM : 090103193 Kelas : C (Week End) Dosen : Ardy Mulya Iswardani, S.Kom Prodgi : S1 Teknik Informatika SEKOLAH TINGGI MANAJEMEN INFORMATIKA

Lebih terperinci

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle Method Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle Definisi Metode: Sekumpulan baris kode program yang mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama, Dapat dipanggil berulang

Lebih terperinci

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based IX. Implementasi ADT : Stacks & Queues STRUKTUR DATA 1 Outline ADT Stacks Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based ADT Queues Operasi dasar Contoh kegunaan Implementasi

Lebih terperinci

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP 1 ALGORITMA DEFINISI Logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan Spesifikasi urutan langkah untuk melakukan

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward( straightforward) ) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah

Lebih terperinci

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA Media Informatika Vol. 15 No.3 (2016) IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA Rachmat Selamet Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

Lebih terperinci

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir Andi Kurniawan Dwi P - 13508028 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

1. Pendahuluan Selama ini penjadwalan pelajaran hampir di semua sekolah yang meliputi jadwal mata pelajaran dan pembagian guru di setiap kelas yang

1. Pendahuluan Selama ini penjadwalan pelajaran hampir di semua sekolah yang meliputi jadwal mata pelajaran dan pembagian guru di setiap kelas yang 1. Pendahuluan Selama ini penjadwalan pelajaran hampir di semua sekolah yang meliputi jadwal mata pelajaran dan pembagian guru di setiap kelas yang ada masih menggunakan cara manual yaitu pihak Tata Usaha

Lebih terperinci

Copyright 2007 Fadhly Permata

Copyright 2007 Fadhly Permata 10.1. Apa itu Konvensi Kode? Fadhly Permata fadh325@plasa.com Lisensi Dokumen: Seluruh dokumen dari fadh.4t.com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (non-profit),

Lebih terperinci

Pembangkit Teka-Teki Silang dengan Algoritma Backtracking serta Aplikasi Permainannya yang Berbasis Web

Pembangkit Teka-Teki Silang dengan Algoritma Backtracking serta Aplikasi Permainannya yang Berbasis Web Pembangkit Teka-Teki Silang dengan Algoritma Backtracking serta Aplikasi Permainannya yang Berbasis Web Hafni Syaeful Sulun 13505058 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Struktur dan Kondisi Perulangan. Struktur Kondisi

Struktur dan Kondisi Perulangan. Struktur Kondisi Struktur dan Kondisi Perulangan Struktur Kondisi Struktur Kondisi If if (kondisi) { statement-jika-kondisi-true; kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau FALSE-nya. Struktur

Lebih terperinci

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE Alvin Andhika Zulen (13507037) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan

Lebih terperinci

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C WAHJUDI ULTIMATICS VOL. 1 NO. 1, DESEMBER 2009 TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C Universitas Multimedia Nusantara Tangerang - Banten Januar Wahjudi Abstrak- Tipe data abstrak(abstract data types atau

Lebih terperinci

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA

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