Operasi File. Chapter 13

dokumen-dokumen yang mirip
Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

ALGORITMA PENGURUTAN & PENCARIAN

S T A C K ( T U M P U K A N )

Struktur Data Array. Rijal Fadilah S.Si

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

BAB VI Pengurutan (Sorting)

BAB 3 STACK (TUMPUKAN)

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

MODUL IV PENCARIAN DAN PENGURUTAN

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

Gambar 13.1 Ilustrasi proses algoritma sorting

SORTING (PENGURUTAN DATA)

BAB VI SEARCHING (PENCARIAN)

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

BAB VI SORTIR ATAU PENGURUTAN

Struktur Data. PDE - Struktur Data 1

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

Procedure. Pertemuan 10 Algoritma Pemrograman

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

SORTING (BAGIAN II) Proses kelima

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

ALGORITMA SEARCHING. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Modul 8 SORTING (PENGURUTAN)

BAB II STACK (TUMPUKAN)

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Powered by icomit.wordpress.com

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

SORTING. Brigida Arie Minartiningtyas, M.Kom

Pengurutan (Sorting) Algoritma Pemrograman

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

BAB II STACK Atau TUMPUKAN

MODUL 2 SELECTION & LOOPING PADA FORM

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

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

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STACK/TUMPUKAN. R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU

STACK (TUMPUKAN) & QUEUE (ANTRIAN) Altien Jonathan Rindengan, S.Si., M.Kom.

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

Algoritma dan Struktur Data

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Searching [pencarian] Algoritma Pemrograman

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

MODUL PRAKTIKUM STRUKTUR DATA

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

SORTING (Pengurutan)

BAB V SORTING (PENGURUTAN) INTERNAL

Modul Praktikum Algoritma dan Struktur Data

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

STRUKTUR DATA SORTING ARRAY

Decrease and Conquer

BAB III QUEUE (ANTRIAN)

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

Visual Basic 6.0 For Beginners

BAB 3 SEARCHING A. TUJUAN

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

Algoritma Pemrograman & Struktur Data

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

4. STACK / TUMPUKAN TEORI PENUNJANG

MATERI TIK KELAS 5 SEMESTER 1 SD KATOLIK SANTA MARIA MAGELANG

Algoritma dan Struktur Data STACK

MODUL IV STACK A. TUJUAN

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

STRUKTUR DATA (3) sorting array. M.Cs

Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT

STRATEGI DIVIDE AND CONQUER

Algoritma Sorting (Selection Insertion)

STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).

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

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Aturan Penulisan Algoritma

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

Pertemuan2 Percabangan & Perulangan pada Python

Modul Praktikum Algoritma dan Struktur Data

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

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

BAB VII ALGORITMA DIVIDE AND CONQUER

Transkripsi:

Operasi File Chapter 13 1

Penyimpanan Data ke File Data memungkinkan untuk disimpan di file. Data akan tersimpan secara permanen, dan data bisa dibaca pada kesempatan yang lain. Pemanggilan Prosedur Redirect_Output(Nama_File) Operasi akan dikirim ke File Panggil Prosedur Redirect_Output Operasi Keluaran akan dikirim ke MasterConsole 2

Menyimpan Data ke File Keterangan: Redirect_Output digunakan untuk memanggil prosedur Redirect_Output(false) digunakan untuk mengirimkan simbol output ke MasterConsole 3

Membaca Data dari File Keterangan: Redirect_Input membaca file Mahasiswa.txt Redirect_Input(no) digunakan untuk mengirimkan simbol output ke MasterConsole 4

Membaca seluruh data file Untuk membaca seluruh data, Jumlah data yang dibaca adalah 4 dan diatur melalui keputusan Coba gantikan bagian keputusan menjadi End_of_Input berfungsi untuk menghasilkan True kalau tidak ada data lagi yang bisa dibaca. 5

Data Random Untuk Pengurutan Data Data yang cukup banyak yang terdapat di dalam file, perlu diurutkan. Hal ini dilakukan untuk pengelolaan data yang sangat banyak. Contohnya: 6

Pengurutan Data Dengan Seleksi Pengurutan seleksi (selection sort) dimana suatu penunjuk (diberi nama posawal) yang menunjukkan ke lokasi awal pengurutan data, diatur agar berisi indeks pertama dalam array. Cari bilangan terkecil yang terletak antara posisi sesudah yang ditunjukkan oleh penunjuk hingga elemen yang terakhir dalam array. Lokasi ini ditunjukkan oleh posmin. Lakukan penukaran antara nilai bilangan terkecil dengan nilai yang ditunjukkan oleh posawal. Proses ini diulang dari posawal bernilai 1 hingga N-1, dengan menyatakan jumlah elemen dalam array. (a) posawal posmin (c) posawal posmin Nilai terkecil Tukarkan 67 35 25 27 26 25 26 67 27 35 (b) posawal posmin (d) posawal posmin 25 35 67 27 26 25 26 27 67 35 Tukarkan Tukarkan 7

Flowchart Select sort Flowchat selection sort.rap yang digunakan untuk melaksanakan pengurutan dengan teknik selection sort. Terdapat beberapa Prosedur yaitu: 1. Main; digunakan untuk membaca jumlah data dan memanggil sejumlah prosedur serta menampilkan Data semula dan Data setelah diurutkan. 2. Prosedur BacaData; digunakan untuk membaca data dari file Acak.txt sebanyak CacahData dan hasilnya diletakkan ke Data. 3. Prosedur TampilData; digunakan untuk menampilkan isi array data, yang memiliki sebanyak CacahData elemen. Setiap data ditampilkan tanpa ditambahi akhir baris. 4. Prosedur Sort; digunakan untuk melakukan pengurutan data di array data dengan menggunakan metode selection sort. 8

Prosedur BacaData Cara Create Prosedure adalah Klik kanan pada main pilih Add Prosedur, lalu atur seperti gambar dibawah ini. Lakukan dengan cara yang sama untuk prosedur lainnya kecuali pengaturannya. 9

Prosedur TampilData 10

Prosedur Sort 11

Main 12

Pengurutan Data Dengan Penyisipan Pengurutan dengan penyisipan (insertion sort) adalah suatu metode yang melakukan pengurutan dengan cara menyisipkan data yang belum urut ke dalam bagian data yang telah di urutkan. Konsep seperti ini biasa dilakukan pada permainan kartu. Ketika sebuah kartu baru didapatkan (hasil pembagian dari pengocokan kartu), kartu akan disisipkan oleh pemain pada posisi yang tepat sehingga penambahan kartu tersebut membuat semua kartu terurutkan. Bila L adalah larik dengan n elemen, mula-mula L[1] (elemen pertama) dianggap sebagai kumpulan data yang telah diurutkan, yang terdiri atas satu data. Kemudian, dilakukan penyisipan data dari L[2] sampai dengan 2 k n. dalam hal ini, penyisipan dilakukan pada tempat yang tepat sehingga data L[0] sampai dengan L[k] menjadi urut. Penuangan dalam pseudokode adalah sebagai berikut: 13

Pseudokode PROSEDUR InsertionSort(L, n) UNTUK k 2 s/d n x L[k] //Sisipkan x ke dalam L[1..k] i k 1 ditemukan 0 ULANGAN SELAMA i 1 DAN ditemukan = 0 JIKA x < L[i] MAKA L[i+1] L[i] i i 1 SEBALIKNYA ditemukan 1 AKHIR-JIKA L[i+1] x AKHIR-ULANG AKHIR-UNTUK AKHIR-PROSEDUR 14

Pencarian Secara Biner Apabila kumpulan data sudah dalam keadaan terurut, pencarian data dengan menggunakan pencarian sekuensial sebelumnya akan memakan waktu yang lama jika jumlah data dalam kumpulan data tersebut sangat banyak. Untuk mengatasi hal itu, terdapat algoritma yang dirancang agar pencarian data dapat dilakukan secara efisien. Metode yang digunakan dikenal dengan sebutan pencarian biner (binary search). Pencarian larik dilakukan dengan membagi larik menjadi dua bagian dengan jumlah yang sama atau berbeda 1 jika jumlah data semula ganjil. Data yang dicari kemudian dibandingkan dengan data terakhir pada bagian utama. Dalam hal ini, ada tiga kemungkinan yang terjadi. 1. Data yang dicari sama dengan elemen terakhir pada bagian pertama dalam larik. Jika kondisi ini terpenuhi, data yang dicari berarti ditemukan. 2. Data yang dicari bernilai kurang dari nilai elemen terakhir pada bagian pertama dalam larik. Pada keadaan ini, pencarian diteruskan pada bagian kedua. 3. Data yang dicari bernilai lebih dari elemen terakhir pada bagian pertama dalam larik. Pada keadaan ini, pencarian diteruskan pada bagian kedua. 15

Lebih jelas perhatikan gambar berikut ini: 0 1 2 3 4 5 6 7 8 9 10 1 3 6 7 9 10 11 12 15 17 20 Gambar. Pencarian pada data yang telah urut Mula-mula, larik tersebut dipecahkan menjadi dua bagian seperti berikut: 1 3 6 7 9 10 11 12 15 17 20 Bagian 1 (kiri) Bagian 2 (kanan) Elemen terakhir pada bagian pertama Gambar. Pembagian larik menjadi dua bagian 16

Selanjutnya, bilangan yang dicari (yaitu 12) dibandingkan dengan elemen terakhir pada bagian pertama pada larik (yaitu angka 10). Mengingat yang dicari bernilai lebih besar daripada 10, maka pencarian diteruskan pada bagian kedua (bagian kanan). Setelah bagian kanan dibagi menjadi dua dan seterusnya sampai pada yang dicari ditemukan. 11 12 15 17 20 Bagian 1 (kiri) Bagian 2 (kanan) Langkah terakhir, angka yang dicari dibandingkan dengan elemen terakhir pada bagian pertama. Mengingat nilai yang dicari dan nilai elemen terakhir pada bagian pertama sama, maka berarti pencarian telah ditemukan. 11 12 15 Bagian 1 (kiri) Bagian 2 (kanan) Gambar. Pembagian yang kedua kali 17

Pengurutan Dengan Penyisipan Biner Penyisipan pada insertion sort dapat dibuat lebih efisien mengingat penyisipan dilakukan pada data yang telah urut. Pencarian data dapat dilakukan dengan menggunakan metode pencarian biner. Setelah posisi untuk penyisipan ditemukan, semua elemen yang berada disebelah kanan posisi tempat data akan disisipkan perlu digeser ke kanan. 18

1 1 Operasi Tumpukan Dengan Array Tumpukkan (stack) adalah struktur data yang memungkinkan penyisipan dan pengambilan data dilakukan dari satu ujung yang disebut puncak. Struktur data ini digambarkan seperti keadaan tumpukan piring atau tumpukan buku. Cara yang gampang untuk meletakkan piring ke dalam tumpukan yakni dengan menaruhnya dibagian puncak. Begitu juga kalau ingin mengambil piring juga diambil dari puncak. Seperti gambar berikut: Gambar. Struktur data tumpukan Kosong Berisi 3 piring Diambil 1 dari puncak Tumpukan memiliki sifat Last-in first-out (LIFO). Operasi dasar pada tumpukan berupa push dan pop. Push adalah operasi untuk memasukkan data ke dalam tumpukan. Push(T, D), T menyatakan tumpukan dan D item data yang disisipkan. Pop adalah operasi untuk mengambil data dari tumpukan. Pop(T, D). Tumpukan T akan dikeluarkan dan nilainya diletakkan di D. 19

Program pencarian berdasarkan NPM Module Module1 Sub Main() Dim a, x, jurusan, fakultas As String Dim tahun As Integer Console.Write("NPM anda : ") a = Console.ReadLine If Left(a, 2) = "11" Then tahun = "2011" ElseIf Left(a, 2) = "12" Then tahun = "2012" ElseIf Left(a, 2) = "13" Then tahun = "2013" Else tahun = "tidak ada" End If If Mid(a, 3, 2) = "13" Then fakultas = "Fakultas Keguruan dan Ilmu Pendidikan" ElseIf Mid(a, 3, 2) = "14" Then fakultas = "Fakultas Teknik" ElseIf Mid(a, 3, 2) = "15" Then fakultas = "Fakultas Ekonomi" Else fakultas = "fakultas tidak ada" End If Source Code VB.NET If Mid(a, 5, 2) = "02" Then jurusan = "Pendidikan Bahasa dan Sastra Inggris" ElseIf Mid(a, 5, 2) = "03" Then jurusan = "Teknik Informatika" ElseIf Mid(a, 5, 2) = "04" Then jurusan = "Manajemen" Else jurusan = "jurusan tidak ada" End If If Right(a, 4) < 11 Then x = "0001" Else x = "0002" End If Console.WriteLine("Tahun Masuk : " & tahun) Console.WriteLine("Fakultas anda : " & fakultas) Console.WriteLine("Jurusan anda : " & jurusan) Console.WriteLine("No urut : " & x) Console.ReadKey() End Sub End Module 20

Program yang nama menampilkan sebelum data diurut dan setelah diurut Module Module1 Sub Main() Dim x As Integer Dim nama(3) As String nama(0) = "Maman" nama(1) = "Aldi" nama(2) = "Alfa" nama(3) = "Ujang" Console.WriteLine("====Sebelum di Urutkan====") For x = 0 To (nama.length - 1) Console.WriteLine(CStr(x) + ". " + nama(x).tostring()) Next x Console.WriteLine() Console.WriteLine() Array.Sort(nama) Console.WriteLine("====Sesudah di Urutkan====") For x = 0 To (nama.length - 1) Console.WriteLine(CStr(x) + ". " + nama(x).tostring()) Next x Console.ReadKey() End Sub Source Code VB.NET Program pengurutan jurusan secara Ascending dan Descending Module Module7 Sub Main() Dim Jurusan As List(Of String) = New List(Of String) Jurusan.Add("Teknik Informatika") Jurusan.Add("Pendidikan Sastra dan Bahasa Inggris") Jurusan.Add("Manajemen") Jurusan.Add("Kesehatan Masyarakat") Jurusan.Sort() 'untuk mengurut secara Ascending Jurusan.Reverse() 'untuk mengurut secara Descending For Each element As String In Jurusan Console.WriteLine(element) Next Console.ReadKey() End Sub End Module End Module 21

KISI-KISI UJIAN ALGO Flowchart Pseudokode Operator Logika Percabangan Pengulangan Prosedure dan Function Array Pencarian dan Pengurutan Source Code VB.Net (Program) 22

Referensi 23