STACK (Tumpukan) Pengertian Stack
|
|
|
- Farida Hermawan
- 9 tahun lalu
- Tontonan:
Transkripsi
1 STACK (Tumpukan) Arna F Pengertian Stack Penyimpanan data/item dimana data/item yang diakses adalah paling akhir yang disebut top of stack. Item ditempatkan membentuk tumpukan Merupakan penyimpanan data dengan konsep LIFO (Last In First Out) 1
2 Contoh Stack Operasi Stack push(item) menambah item pada top of stack pop() menghapus elemen dari top of stack peek() mengakses nilai top of stack 2
3 Operasi Stack Item di hapus (pop) dari stack adalah eleman terakhir yang ditambahkan (push) ke stack atau LIFO (last-in-first-out) push A push B push C pop pop pop push D Stack Interface Stack interface mendefinisikan kumpulan operasi yang mengakses dan meng-update hanya satu data pada akhir list interface Stack<T> ds.util boolean isempty() bernilai true jika stack tidak terdapat elemen dan false jika stack mempunyai sedikitnya 1 elemen T peek() bernilai elemen pada top of stack. Jika stack kosong, akan melempar (throw) exception yaitu EmptyStackException. 3
4 Stack Interface interface Stack<T> ds.util T pop() menghapus elemen pada top of stack dan menghasilkan nilai yang di-pop. Jika stack kosong, throw exception EmptyStackException. void push(t item) menambah item pada top of stack. int size() bernilai jumlah elemen pada stack Class ALStack Interface mendefinisikan method yang terbatas. Class Stack dapat diimplementasikan menggunakan class List sebagai struktur penyimpan. Class ALStack menggunakan ArrayList dan composition. 4
5 Class ALStack public class ALStack<T> implements Stack<T> // storage structure private ArrayList<T> stacklist = null; // create an empty stack by creating // an empty ArrayList public ALStack() stacklist = new ArrayList<T>();... Implementasi ALStack Method peek() Method has runtime efficiency O(1) public T peek() // if the stack is empty, throw // EmptyStackException if (isempty()) throw new EmptyStackException(); // return the element at the back of the ArrayList return stacklist.get(stacklist.size()-1); 5
6 Implementasi ALStack Method push() Method has runtime efficiency O(1) public void push(t item) // add item at the end of the ArrayList stacklist.add(item); Implementasi ALStack Method pop() Method has runtime efficiency O(1) public T pop() // if the stack is empty, throw // EmptyStackException if (isempty()) throw new EmptyStackException(); // remove and return the last // element in the ArrayList return stacklist.remove(stacklist.size()-1); 6
7 Contoh Aplikasi: Multibase Numbers Multibase numbers menggunakan basis untuk melakukan konversi dari desimal ke basis tertentu Contoh n = 75 dengan basis 2, 8, = // 75 = 1(8 2 ) + 1(8 1 ) = // 75 = 1(2 6 ) + 0(2 5 ) + 0(2 4 ) + 1(2 3 ) + 0(2 2 ) + 1(2 1 ) = 4B 16 // 75 = 4(16 1 ) + B Contoh Aplikasi: Multibase Numbers Algoritma menggunakan pembagian berulang (n / basis) dan operator mod (n % basis) untuk membuat dan mengubah angka Contoh =
8 Contoh Aplikasi: Multibase Numbers Contoh ilustrasi konversi integer n = 431 ke nilai basis-16 (hex) string "1AF". basestring() public static String basestring(int num, int b) // digitchar.charat(digit) is the // character that represents the digit, // 0 <= digit <= 15 String digitchar = " ABCDEF", numstr = ""; // stack holds the base-b digits of num ALStack<Character> stk = new ALStack<Character>(); // extract base b digits right // to left and push on stack do // push right-most digit on the stack stk.push(digitchar.charat(num % b)); // remove right-most digit from num num /= b; // continue until all digits found while (num!= 0); 8
9 basestring() (lanjutan) while (!stk.isempty()) // flush the stack // pop stack and add digit on top // of stack to numstr numstr += stk.pop().charvalue(); return numstr; Contoh Program Program menggunakan method basestring() Output dalam 4 nilai integer non negatif 9
10 Contoh Program (lanjutan) import java.util.scanner; import ds.util.alstack; public class MultibaseTest public static void main(string[] args) int num, b; // decimal number and base int i; // loop index // create scanner for keyboard input Scanner keyin = new Scanner(System.in); for (i = 1; i <= 4; i++) // prompt for number and base System.out.print("Enter a decimal number: "); num = keyin.nextint(); System.out.print("Enter a base (2 to 16): "); b = keyin.nextint(); Contoh Program (lanjutan) System.out.println(" " + num + " base " + b + " is " + basestring(num, b)); < listing of basestring() given in the program discussion > 10
11 Contoh Program (Hasil running) Run: Enter a decimal number: 27 Enter a base (2 to 16): 2 27 base 2 is Enter a decimal number: 300 Enter a base (2 to 16): base 16 is 12C Enter a decimal number: 75 Enter a base (2 to 16): 8 75 base 8 is 113 Enter a decimal number: 10 Enter a base (2 to 16): 3 10 base 3 is 101 Ekspresi Postfix Format Postfix (RPN) untuk ekspresi matematika, contoh a + b * c RPN: a b c * + Operator * lebih tinggi dari +. (a + b) * c RPN: a b + c * tanda kurung membentuk sub ekspresi a b + (a*b + c) / d + e RPN: a b * c + d/ e + sub ekspresi a b * c +. Pembagian lebih dahulu dari penambahan. 11
12 Evaluasi Postfix Untuk mengevaluasi ekspresi postfix, jalankan langkah2 berikut sampai akhir notasi. 1. Jika operan, push ke stack. 2. Jika operator, pop operan, masukkan operator ke stack. 3. Sebagai kesimpulan, nilai ekspresi postfix ada di top of stack. Evaluasi Postfix (lanjutan) Contoh: evaluasi "4 3 5 * +" 12
13 Evaluasi Postfix (lanjutan) Setiap langkah pada algoritma evaluasi postfix, status stack menuntun untuk mengidentifikasi apakan terjadi error dan penyebab error. Evaluasi Postfix (lanjutan) Ekspresi * 9 operator * kehilangan operan ke 2. Identifikasi error tersebut jika membaca * dengan stack berisi hanya satu elemen. 13
14 Evaluasi Postfix (lanjutan) Ekspresi mungkin berisi terlalu banyak operan. Identifikasi error tsb setelah memproses keseluruhan ekspresi. Konklusi dari proses, stack berisi lebih dari satu elemen. Contoh: Class PostfixEval Class PostfixEval merupakan method untuk membaca ekspresi postfix dan menghasilkan nilai. Method kunci adalah evaluate() yang menggunakan method private compute(), getoperand(), dan isoperand(). 14
15 import java.util.scanner; Contoh Program public class PostfixEvaluateTest public static void main(string[] args) // object used to evaluate postfix expressions PostfixEval exp = new PostfixEval(); // postfix expression input String rpnexp; // for reading an expression Scanner keyin = new Scanner(System.in); System.out.print("Enter the postfix " + "expression: "); rpnexp = keyin.nextline(); // assign the expression to exp exp.setpostfixexp(rpnexp); Contoh Program (lanjutan) // call evaluate() in a try block // in case an error occurs try System.out.println("The value of the " + "expression = " + exp.evaluate() + "\n"); // catch block outputs the error catch (ArithmeticException ae) System.out.println(ae.getMessage() + "\n"); 15
16 Contoh Program (run) Run 1: (2 + 5)*3-8/3 Enter the postfix expression: * 8 3 / - The value of the expression = 19 Run 2: 2^3 + 1 Enter the postfix expression: 2 3 ^ 1 + The value of the expression = 9 Run 3: Enter the postfix expression: 1 9 * / PostfixEval: Too many operators Run 4: Enter the postfix expression: PostfixEval: Too many operands Implementasi PostfixEval Scanning ekspresi postfix dan menghitung hasil berada pada method evaluate() yang menggunakan stack integer, operandstack, untuk menyimpan operand. Algoritma evaluate() menggunakan method private isoperand(), getoperand() dan compute(). 16
17 Implementasi PostfixEval (lanjutan) Method boolean isoperand() dipanggil jika men-scanning karakter non-spasi untuk menentukan apakah karakter valid ('+','- ','*','/','%','^'). Jika valid, evaluate() memanggil getoperand() untuk mengambil operan pertama pada sisi kanan dan kemudian operan pada sisi kiri. Method throw ArithmeticException jika stack kosong. Implementasi PostfixEval (lanjutan) Operator diproses menggunakan method compute() yang mengevaluasi operasi "left op right" dan push hasilnya ke stack. 17
18 Implementasi PostfixEval (lanjutan) int compute(int left, int right, char op) int value = 0; // evaluate "left op right" switch(op) case '+': value = left + right; break; case '-': value = left - right; break;... < throw ArithmeticException for divide by 0 or 0^0 > return value; Implementasi PostfixEval (lanjutan) Looping pada evaluate() men-scan setiap karekter dari ekspresi postfix dan berhenti jika semua karakter sudah diproses atau terdapat error. Setelah selesai lengkap, hasil akhir berada pada top of stack dan dikirim ke variabel expvalue yang menjadi return value. 18
19 Implementasi PostfixEval (lanjutan) int left, right, expvalue; char ch; int i; // process characters until the end of the string is reached // or an error occurs for (i=0; i < postfixexpression.length(); i++) // get the current character ch = postfixexpression.charat(i);... Implementasi PostfixEval (lanjutan) Scan menggunakan mothod static isdigit() dari class Character class untuk menentukan apakah karakter ch adalah angka. Method menghasilkan true jika ch >= '0' && ch <= '9'. Dalam hal ini, evaluate() push nilai Integer yang berhubungan dengan operan ke stack. 19
20 Implementasi PostfixEval (lanjutan) // look for an operand, which is a single digit // non-negative integer if (Character.isDigit(ch)) // value of operand goes on the stack as Integer object operandstack.push(ch - '0'); Implementasi PostfixEval (lanjutan) Jika karakter ch adalah operator, evaluate() menginisialisasi proses ekstraksi operan dari stack dan menggunakan compute() untuk melanjutkan kalkulasi dan menghasilkan return value. Push return value ke the stack. 20
21 Implementasi PostfixEval (lanjutan) // look for an operator else if (isoperator(ch)) // pop the stack to obtain the right operand right = getoperand(); // pop the stack to obtain the left operand left = getoperand(); // evaluate "left op right" and push on stack operandstack.push(new Integer(compute(left, right, ch))); Implementasi PostfixEval (lanjutan) Jika karakter ch bukan operan atau operator, evaluate() menggunakan method iswhitespace() dari class Character class untuk menentukan apakah ch adalah spasi (blank, baris baru atau tab). Jika bukan, evaluate() throw ArithmeticException; lainnya, perulangan melanjutkan karakter berikutnya. 21
22 Implementasi PostfixEval (lanjutan) // any other character must be whitespace. // whitespace includes blank, tab, and newline else if (!Character.isWhitespace(ch)) throw new ArithmeticException("PostfixEval: Improper char"); Implementasi PostfixEval (lanjutan) Jika ekspresi postfix berakhir tanpa error, nilai yang tepat akan diletakkan pada top of stack. Method evaluate(), pop nilai dari stack. Jika stack kosong, nilai berupa hasil final. Jika stack masih berisi element, evaluate() berakhir dengan too many operand dan throw ArithmeticException. 22
23 Implementasi PostfixEval (lanjutan) // the expression value is on the top of the stack. pop it off expvalue = operandstack.pop(); // if data remains on the stack, there are too many operands if (!operandstack.isempty()) throw new ArithmeticException ("PostfixEval: Too many operands"); return expvalue; Evaluasi Ekspresi Infix Pada ekspresi infix, setiap operator binar berada diantara operan dan operator unary berada sebelum operan. Infix adalah format umum untuk menulis ekspresi dan format ekspresi untuk banyak bahasa pemrograman dan kalkulator. Evaluasi lebih sulit dari ekspresi postfix. 23
24 Evaluasi Ekspresi Infix (lanjutan) Algoritma harus mempunyai strategi untuk menangani sub ekspresi dan harus memelihara urutan dan asosiasi untuk operator. Sebagai contoh 9 + (2-3) * 8 terdapat sub ekspresi (2-3) yang dievaluasi lebih dahulu dan kemudian menggunakan hasilnya sebagai operato kiri untuk *. Operator * mengeksekusi sebelum operator +, karena level lebih tinggi. Evaluasi Ekspresi Infix (lanjutan) Terdapat dua pendekatan untuk evaluasi Mengubah ekspresi infix ke postfix dan kemudian memanggil evaluasi postfix untuk hasilnya Pendekatan lain dengan menelusuri ekspresi infix dan menggunakan stack operator dan operan untuk menyimpannya. Algoritma memberi hasil langsung 24
25 Atribut Ekspresi Infix Ekspresi Infix terdiri dari operand, operator, dan tanda kurung yang menandakan sub ekspresi, yang dihitung terpisah Urutan level yang dievaluasi adalah yang tertinggi terlebih dahulu Diantara operator aritmatika, operator penambahan (+, -) mempunyai urutan terendah, dilanjutkan operator perkalian (*, /, %). Operator eksponensial (^) merupakan urutan tertinggi. Atribut Ekspresi Infix (lanj.) Konsep asosiatif berpegang pada urutan eksekusi untuk operator pada level yang sama. Jika lebih dari satu operator mempunyai level yang sama, operator ter-kiri dieksekusi lebih dahulu (+, -,, /, %) dan operator ter-kanan mengeksekusi asosiatif terkanan pertama (^). 25
26 Atribut Ekspresi Infix (lanj) 7 * 2 * 4 / 5 Evaluasi: ((7 * 2) * 4) /5 = (14 * 4) / 5 = 56 % 5 = 11 2 ^ 3 ^ Evaluasi: (2 ^ (3 ^ 2)) + 3 = = = 515 Konversi Infix-ke-Postfix Algoritma konversi infix-ke-postfix menggunakan ekspresi infix sebagai input string dan menghasilkan ekspresi postfix Algoritma meng-copy operan ke output string dan menggunakan stack untuk menyiimpan dan memproses operator dan simbol kurung Stack operator menyimpan urutan level dan asosiatif operator dan menangani sub ekspresi 26
27 Konversi Infix-ke-Postfix (lanj) Class InfixToPostfix mendefinisikan method untuk mengubah ekspresi infix yang terdiri dari operan berupa angka integer 0-9 dan operator +, -, *, /, %, dan ^ ke dalam bentuk postfix. Konversi Infix-ke-Postfix (lanj) Aplikasi InfixExpressions.java menginputkan ekspresi dan mengevaluasi hasil menggunakan class InfixToPostfix. 27
28 Konversi Infix-ke-Postfix (lanj) Tulis operan ke postfix. Tempatkan operator ke stack, menunggu operan sebelah kanan Contoh: Ekspresi infix a + b * c Konversi Infix-ke-Postfix (lanj) Push operator ke stack hanya setelah menghapus semua operator yang lebih tinggi atau sama levelnya Contoh: Ekspresi infix a * b / c + d 28
29 Konversi Infix-ke-Postfix (lanj) Buat input dan level stack operator berbeda untuk menangani operator pada asosiasi kanan Contoh: ekspresi infix a^b^c Konversi Infix-ke-Postfix (lanj) Tanda '(' lebih besar dari stack untuk semua operator. Sehingga '(' dan operator pada sub ekspresi menempati stack sampai menemukan tanda ')'. 29
30 Konversi Infix-ke-Postfix (lanj) Contoh: Ekspresi infix a * (b + c) 30
Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.
Praktikum Stack A. Stack Collection di java.util.collection Percobaan 1 import java.util.iterator; import java.util.stack; public class StackExample { public static void main(string[] args) { Stack
A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List.
PRAKTIKUM 21 STACK A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List. B. DASAR TEORI Salah satu konsep yang efektif
Gambar 1. Ilustrasi Stack
PRAKTIKUM 21-22 STACK (TUMPUKAN) A. TUJUAN PEMBELAJARAN 1. Memahami konsep penyimpanan data dengan stack (tumpukan) 2. Memahami operasi pada stack 3. Mampu mengimplementasikan struktur data stack pada
Gambar 1. Ilustrasi Stack
PRAKTIKUM 22 STACK (TUMPUKAN) A. TUJUAN PEMBELAJARAN 1. Memahami konsep penyimpanan data dengan stack (tumpukan) 2. Memahami operasi pada stack 3. Mampu mengimplementasikan struktur data stack pada pemrograman
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK Deskripsi Singkat merupakan bentuk struktur data seperti tumpukan yang memiliki konsep Last In First Out (LIFO). Bermakna data yang terakhir masuk merupakan
Algoritma dan Struktur Data STACK
Algoritma dan Struktur Data STACK Teknik Informatika Universitas Muhammadiyah Malang 2016 Tujuan Instruksional Mahasiswa mampu : Memahami tentang konsep stack Mengetahui mekanisme pengoperasian sebuah
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
BAB II STACK (TUMPUKAN)
BAB II STACK (TUMPUKAN) Stack merupakan metode dalam menyimpan atau mengambil data ke dan dari memori. Stack dapat dibratkan sebuah tumpukan barang dalam sebuah tempat yang hanya memiliki satu pintu diatsnya
Pemrograman Berbasis Objek Operator dan Assignment
Operator dan Assignment Macam-macam macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional
Operator dan Assignment
Operator dan Assignment Macam-macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional Op.
ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE
ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE STACK = TUMPUKAN SUATU SUSUNAN KOLEKSI DATA DIMANA DATA DAPAT DITAMBAHKAN DAN DIHAPUS SELALU DILAKUKAN PADA BAGIAN AKHIR DATA, YANG DISEBUT DENGAN TOP
STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan
STACK (TUMPUKAN) adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring di sebuah restoran yang
Pertemuan 10. Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI.
Pertemuan 10 Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI. Definisi Tumpukan adalah kumpulan elemen-elemen data yang disimpan dalam satu lajur linier. Kumpulan elemen-elemen
BAB 3 TYPE DATA, VARIABLE DAN OPERATOR
BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman
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
Java Operators. Nurochman
Java Operators Nurochman Java Operators Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operators : &, ^, dan. Binary operators : &, ^, dan. Short Circuit
Struktur Data Array. Rijal Fadilah S.Si
Struktur Data Array Rijal Fadilah S.Si Array Berdimensi Satu Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data
STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR
STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR Sebuah daftar linear atau linear list, merupakan suatu struktur data umum yang terbentuk dari barisan hingga yang terurut) dari satuan data ataupun dari record. Untuk
Dasar Pemrograman Java
Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid
STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak Defenisi : Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakan diatas data yang lain. Satu hal yang
Badiyanto, S.Kom., M.Kom. PBO java
Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE Deskripsi Singkat merupakan bentuk struktur data seperti antrian yang memiliki konsep First In First Out (FIFO). Bermakna data yang pertama masuk merupakan
S T A C K ( T U M P U K A N )
S T A C K T U M P U K A N ) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen
IKG2I4 / Software Project I
IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 6 1 3/11/2015 WEEK 6 Abstract Class Interface Exception 2 3/11/2015 ABSTRACT
Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek
Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Topik Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan. Short Circuit operator
Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)
Variabel dan Tipe Data Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Nilai variabel dapat diubah di pernyataan manapun di dalam program Java Basic By Didit Setya
BAB 3 STACK (TUMPUKAN)
BAB 3 STACK (TUMPUKAN) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen pada
OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment
OBJECT ORIENTED PROGRAMMING Day 3 : Operator dan Assignment TOPIK Membedakan antara instance dan local l variabel. Urutan pemrosesan Unary operator Arithmetic operator Shift operator: , dan >>> Comparison
2 TIPE DATA DAN VARIABEL
BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:
ARNA FARIZA YULIANA SETIOWATI
02. Stack ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep stack dan operasi pada stack. 2. Mahasiswa dapat menggunakan stack untuk memecahkan permasalahan pemrograman. 1
STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan
STACK (TUMPUKAN) Stack adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring di sebuah restoran
KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.
KENDALI PROSES Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. PERINTAH KONDISIONAL Pemrograman Java memiliki 2 Decision-making
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum
Percabangan dan Perulangan
Percabangan dan Perulangan uliana Setiowati Politeknik Elektronika egeri Surabaya 2011 1 Topik Percabangan switch Perulangan Special Loop Control 2 Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan
BAB II VARIABEL DAN TIPE DATA
BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan
MODUL III ARRAYLIST TUGAS PENDAHULUAN
MODUL III ARRAYLIST TUGAS PENDAHULUAN 1. Jelaskan pengertian ArrayList? 2. Jelaskan perbedaan Array dan ArrayList? 3. Tuliskan contoh sintak ArrayList! 1. TUJUAN Mahasiswa dapat memahami konsep ArrayList
STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).
STACK Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO). Stack merupakan tipe data abstrak yang banyak digunakan dalam berbagai algoritma, diantaranya adalah: Algoritma konversi infix ke
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2) Deskripsi Singkat Struktur data linked list telah kita pelajari pada praktikum sebelumnya. Praktikum ini akan memanfaatkan linked list
SUMBER BELAJAR PENUNJANG PLPG
SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII
S TA C K Sunu Wibirama
STACK Sunu Wibirama Jadwal ujian MID Hari Rabu, 6 April 2011 Pkl. 07.30-09.30 WIB Ruangan E3 Open Book, tapi tidak diperkenankan menggunakan internet, membuka laptop, atau handphone Bahan ujian Logika
BAHASA PEMROGRAMAN JAVA
MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran
Percabangan & Perulangan
Struktur Dasar Java Percabangan & Perulangan Object-oriented Programming (OOP) with JAVA 2011/2012 Macam-macam Percabangan if (...) if ( ) else ( ) if ( ) else if ( ) else ( ) switch ( ) Percabangan :
PRAKTIKUM I EXCEPTION HANDLING
I - 1 PRAKTIKUM I EXCEPTION HANDLING 1. Tujuan Siswa dapat memahami cara menangani exception. 2. Praktikum 2.1. Penunjang Exception Exception merupakan kondisi tidak biasa yang muncul pada saat runtime,
ALGORITMA DAN STRUKTUR DATA
Modul ke: 05 Desi Fakultas FASILKOM ALGORITMA DAN STRUKTUR DATA OLEH : Ramayanti, S.Kom, MT Program Studi Teknik Informatika APLIKASI SINGLE STACK Infix, Postfix, Prefix Operand & Operator A * ( B + C
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
Array. Adharul Muttaqin Universitas Brawijaya Malang. Array
Array Adharul Muttaqin Universitas Brawijaya Malang Array Array merupakan memory pada komputer yg digunakan untuk menyimpan sejumlah data bertype sama. Di Java, Array merupakan sebuah object yang menampung
Pemrograman Lanjut Class, Instance Variable dan Method PTIIK
Pemrograman Lanjut Class, Instance Variable dan Method PTIIK - 2013 Objectives Mampu mendeklarasikan class dan menggunakannya untuk membuat object. Mampu mendeklarasikan methods dalam class (tingkah laku
PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA
PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto [email protected] http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai
IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT EXCEPTION 09 Oleh : Andri Heryandi, M.T. MATERI HARI INI Exception Penanganan Exception Penanganan Exception satu catch Penanganan Exception dengan banyak catch Pengaganan
LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom
LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,
Kasus Penggunaan Stack: Komputasi Ekspresi Aritmatika
Struktur Data dan Algoritma Kasus Penggunaan Stack: Komputasi Ekspresi Aritmatika Suryana Setiawan SUR Fasilkom UI - IKI20100/ IKI80110P 2010/2011 Ganjil Minggu 6 Definisi Problem Diberikan suatu ekspresi
LIST LINIER & STACK. Pertemuan 6 Yani sugiyani, M.Kom
LIST LINIER & STACK Pertemuan 6 Yani sugiyani, M.Kom 1 LIST LINIER Yani Sugiyani, M.Kom 2 LIST LINIER List linier atau daftar linier adalah suatu struktur data umum yang terbentuk dari barisan hingga (yang
Perulangan / Looping
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Perulangan / Looping Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya 7 Aspek Dasar
STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)
Pertemuan 5 STACK atau TUMPUKAN STACK (TUMPUKAN) Merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top)
Elemen Dasar Dalam Bahasa Java
Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai
A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.
PRAKTIKUM 18 MELEMPAR EXCEPTION DAN MEMBUAT EXCEPTION SENDIRI A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception.. Mengetahui cara membuat sendiri class exception.
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO Ramos Somya Identifier Merupakan nama yang digunakan untuk menamai class, variabel, method dan interface. Aturan: - Tidak ada batasan
Pemrograman Berorientasi Obyek. Operator & Assignment
Pemrograman Berorientasi Obyek Operator & Assignment 1 MATERI POKOK Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan. Short Circuit operator
STRUKTUR DATA Pertemuan 4
STRUKTUR DATA Pertemuan 4 Struktur Data prepared by Suyanto 1 Definisi Stack atau Tumpukan adalah suatu struktur data yang terbentuk dari barisan hingga yang terurut dari satuan data. Pada Stack, penambahan
Aplikasi Rekursif dalam Analisis Sintaks Program
Aplikasi Rekursif dalam Analisis Sintaks Program Albertus Kelvin / 13514100 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK
KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator,
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE LABORATORIUM PEMROGRAMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015 I. TUJUAN II. Mahasiswa mampu
Percabangan & Perulangan
BRACHIG & LOOPIG Percabangan & Perulangan Pemrograman Berbasis Obyek Pertemuan 3 IT-EEPIS Percabangan -else else- switch (ekspresi boolean) { pernyataan1; pernyataan2; ekspresi = true pernyataan1 pernyataan2
Referensi Bahasa Pemrograman Java
Referensi Bahasa Pemrograman Java Tipe Data Primitif Type Bits Bytes Minimum Range Maximum Range byte 8 1-128 or -2 7 127 or 2 7-1 short 16 2-32,768 or -2 15 32,767 or 215-1 int 32 4-2,147,483,648 or -2
Struktur Data dan Algoritma
Struktur Data dan Algoritma Implementasi ADT: Stacks & Queues Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil
Pemrograman Dasar P E M R O G R A M A N T E R S T R U K T U R I N P U T / O U T P U T
Pemrograman Dasar P E M R O G R A M A N T E R S T R U K T U R I N P U T / O U T P U T Pemrograman Terstruktur Pemrograman Terstruktur merupakan pola penyusunan program komputer hanya dengan menggunakan
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obyektif: Praktikan mengetahui array, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan dalam
Bahasa Pemrograman Java. Yudi Adha. ST. MMSI
Bahasa Pemrograman Java Yudi Adha. ST. MMSI Tujuan Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman Java. Kita akan memulai dengan mencoba menjelaskan bagian dasar dari program
DASAR PEMOGRAMAN JAVA
DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana
Pertemuan2 Percabangan & Perulangan pada Python
Pertemuan2 Percabangan & Perulangan pada Python Objektif: 1. Mahasiswa mengetahui percabangan dan perulangan pada Python. 2. Mahasiswa mengetahui bentuk umum dari percabangan dan perulangan pada Python.
BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA
1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa
4. STACK / TUMPUKAN TEORI PENUNJANG
4. TCK / TUMPUKN TUJUN PRKTIKUM 1. Praktikan mengenal tipe khusus dari link list yaitu stack/tumpukan beserta seluruh operasi yang ada padanya. 2. Praktikan diharapkan dapat menerapkan teori mengenai single
PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR
1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode
OPERATOR-OPERATOR DALAM JAVA
OPERATOR-OPERATOR DALAM JAVA Obyektif : 1. Memahami tentang operator-operator (aritmatic, logical, relational, assigment, bitwise) 2. Dapat membuat program sederhana dengan menggunakan operatoroperator
Obyektif : KONTROL ALUR PROGRAM
KONTROL ALUR PROGRAM Obyektif : 1. Mengetahui dan memahami tentang percabangan (seleksi) 2. Mengetahui dan memahami tentang perulangan (iterasi) 3. Dapat membuat program tentang control alur program PERCABANGAN
2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.
Waktu Sisa : 2:14:53 1. Dari pilihan berikut ini, item manakah yang memiliki atribut dan behaviour? object class attribute data type method behavior 2. Pilih instruksi yang dapat digunakan dalam method
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Deskripsi Singkat Praktikum pemrograman berorientasi objek adalah praktikum yang menggunakan bahasa Java sebagai bantuan dalam memahami konsep pemrograman
Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (
BAB III Tumpukan(Stack) Tujuan: 1. Memahami terminologi yang terkait dengan struktur data stack 2. Memahami operasi-operasi yang ada dalam stack 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5
A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5 Mahasiswa dapat memahami tentang konsep pemrograman
LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD
LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD Disusun oleh : Nama : Ach Fauzan NIM : 135150201111002 Asisten 1 : Fadel Trivandi Dipantara Asisten 2 : Karid Nurvenus Asisten 3 : Apiladosi
Pemrograman JAVA INPUT-OUTPUT
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Pemrograman JAVA INPUT-OUTPUT Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya JAVA
Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method
Pemrograman Lanjut Instance Variable Access Modifier Set dan Get Method PTIIK - 2014 Objectives Mampu mendeklarasikan class dan menggunakannya untuk membuat object. Mampu mendeklarasikan methods dalam
1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?
1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai
IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT PERULANGAN 05 Oleh : Andri Heryandi, M.T. JENIS-JENIS PERULANGAN Perulangan FOR Perulangan DO WHILE Perulangan WHILE Oleh : Andri Heryandi, M.T. 2 PERULANGAN FOR Perulangan
Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.
Panduan dalam mengimplementasikan Stack dan Queue. Silakan Anda membuat kode implementasi dari latihan ini, dan hasilnya simpan sebagai library program Anda. Jika Anda ingin bisa/sukses dalam kuliah SDA
PROJECT UJIAN AKHIR SEMESTER MATA KULIAH STRUKTUR DATA Program Kalkulator Scientific Sederhana
PROJECT UJIAN AKHIR SEMESTER MATA KULIAH STRUKTUR DATA Program Kalkulator Scientific Sederhana DOSEN: MUH. ARIF RAHMAN DISUSUN OLEH KELOMPOK 2: NAMA NIM PERANAN ARISSA MUJIBUDDA WAT 10509050111100 LEADER
Belajar ArrayList di Java
Belajar ArrayList di Java Oleh: Yudi Setiawan Apa itu ArrayList? Sebenarnya, ArrayList itu merupakan salah satu fitur yang paling saya senangi dalam melakukan penyimpanan Data yang jumlahnya tidak dikit.
Rekursif. Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Rekursif Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti. Faktorial Konsep Faktorial n! = n(n-1)(n-2) 1 Dapat diselesaikan dengan
Pemrograman Berorientasi Object
Pemrograman Berorientasi Object Apa itu Exception? Singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Contoh Error pembagian
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
Pemrograman Berorientasi Obyek. Dasar Pemrograman Java
Pemrograman Berorientasi Obyek Dasar Pemrograman Java 1 Materi Pokok Membedakan antara valid dan invalid identifiers. Mengetahui Java technology keywords. Mengetahui 8 tipe data primitif. Mendefinisikan
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
Gambar 1. Single Linked List
PRAKTIKUM 15-16 SINGLE LINKED LIST A. TUJUAN PEMBELAJARAN Mahasiswa diharapkan mampu : 1. Memahami konsep Linked List 2. Memahami dan mampu membedakan Linked list dengan array 3. Memahami operasi yang
Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure
Struktur Kontrol Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure Selection Structure if if else switch if Bentuknya : if (kondisi) Statement1;
Exception Handling. Prepared by Viska Mutiawani. 1
Exception Handling Prepared by Viska Mutiawani 1 Konsep penting Assertion Exception handling: try-catch-finally 2 Assertion 3 What is assertion? Assertion merupakan statement dalam bahasa Java yang dapat
Praktikum Exception Handling
Praktikum Exception Handling. Jelaskan mengenai definisi Exception!. Semua exception yang berasal dari java.lang.runtimeexception adalah unchecked exceptions, sedangkan exception lainnya yang tidak berasal
PERTEMUAN II ARRAY, PERCABANGAN, DAN PERULANGAN TUJUAN PRAKTIKUM
PERTEMUAN II ARRAY, PERCABANGAN, DAN PERULANGAN TUJUAN PRAKTIKUM 1. Praktikan mengetahui array, percabangan, dan perulangan pada Java. 2. Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan
LAPORAN PRAKTIKUM STRUKTUR DATA
LAPORAN PRAKTIKUM STRUKTUR DATA Nama : Sarifudin Kelas / NIM : IK-1B / 3.34.11.1.22 Pengampu : Sukamto, S.Kom;M.T Jobs ke : 02 Pokok Bahasan : Operator Bahasa Java PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN
if (ekspresi_boolean) {
PRAKTIKUM 4 PERCABANGAN DAN PERULANGAN A. TUJUAN PEMBELAJARAN 1. Memahami logika percabangan 2. Memahami logika perulangan 3. Memakai percabangan dan perulangan yang tepat 4. Memahami pemberian kondisi
PERCOBAAN 6 EXCEPTION
PERCOBAAN 6 EXCEPTION Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa
