Enkripsi Karakter - Soal Lomba Pemrograman

dokumen-dokumen yang mirip
Insertion Sort Dengan Algoritma Divide And Conquer

Metode Binnary Searching di Java Console

Belajar ArrayList di Java

ShortHand If Else di Java

Input Nilai tanpa Case String di Java

Bubble Sort dan Selection Sort di Java Console

Metode Sequential Searching di Java Console

Percabangan dan Perulangan

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

Metode Insertion Sort di Java Console

Perulangan / Looping

DASAR PEMROGRAMAN JAVA. Astrid Lestari Tungadi, S.Kom., M.TI.

Array Sebagai Parameter Method

A. TEORI ARRAY 1 DIMENSI

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Cara Mencari Selisih Waktu di Java

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

Tiga Metode Sangat Penting dalam Pemrograman Java Bagi Pemula

Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:

MODUL III ARRAYLIST TUGAS PENDAHULUAN

A. TEORI ARRAY 1 DIMENSI

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

Percabangan & Perulangan

Topik. 1. Statement if 2. Statement if..else.. 3. Statement if..else.. If (bertingkat ) 4. Penggunaan Input Keyboard

Penyeleksi Kondisi / Percabangan

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

Membuat Menu Login Sederhana [Full Coding]

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

Projek Kelompok 7. package (tiopan-programmer java) public class aritmatika1{ public static void main(string[]tiw){ int calculation = 1;

Dasar Pemrograman Java

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

if (ekspresi_boolean) {

Belajar Rekursif di Java

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Method / Fungsi / Sub Program

Kelompok 7. package (tiopan-programmer java) public class aritmatika1{ public static void main(string[]tiw){ int calculation = 1;

Tiopan Indra Wahyudi R5L PROJECT KELOMPOK 7 R5L. package brekk; public class brekk{ public static void main(string[]args){

ARRAY, SORTING & SEARCHING

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM DENGAN KONDISI

Pemrograman JAVA INPUT-OUTPUT

MODUL 5 PERULANGAN A. WHILE

Bahasa Pemrograman 2.

Parent dan Child di Java

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.

SEKUEN, PERCABANGAN & PENGULANGAN

Modul Praktikum 4 Pemograman Berorientasi Objek

Pertemuan 3 Struktur Perulangan pada Java

Array dan String. Array

TIPE DATA Pertemuan (K-03/L-03)

Dasar-Dasar Pemrograman Java

Array Multidimensi. Pemrograman Dasar. Java

Modul Praktikum 3 Pemograman Berorientasi Objek

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Struktur Kontrol Pemrograman Java : PERCABANGAN

Pertemuan 2 Struktur Kontrol Percabangan

Arrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!

PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK Dosen : Tim Dosen PBO

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Struktur Data dan Algoritma IKI10400 Semester Gasal 2010/2011 Fakultas Ilmu Komputer Universitas Indonesia

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

MODUL 3 ARRAY. Pemograman Berorientasi Objek

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

BAHASA PEMROGRAMAN JAVA

Teknik Menukarkan 2 Variable tanpa pihak Ketiga

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

Pengenalan Java, Tipe Data, Variabel dan Operator. Putu Putra Astawa

BAB 5 Mendapatkan Input dari Keyboard

Sequential Search (Linear Search)

BAB 5 Mendapatkan Input dari Keyboard

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Modul 3: Kendali program dan teknik. penyimpanan data

{ System.out.println("PERANCANGAN PROGRAM APLIKASI ESTIMASI KEUNTUNGAN PRODUKSI PADA PT POPPY DHARSONO DENGAN. System.out.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Beberapa Contoh Penggunaan Array

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

BAB 2 Seleksi Kondisi

Input - Output PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

Array 1 Dimensi pada Java

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL)

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;


STRUKTUR PEMROGRAMAN PYTHON

SUMBER BELAJAR PENUNJANG PLPG

Pemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING)

Decision and Looping

Modul 3 Flow Control dan Input

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB02 : KODING PROGRAM

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Bahasa Pemrograman :: Dasar Pemrograman Java

TUGAS 1: WIN OR LOSE. package kartu; import java.util.random; public class kartu { /** args the command line arguments

Transkripsi:

Enkripsi Karakter - Soal Lomba Pemrograman Oleh: Yudi Setiawan Pada tutorial ini, saya akan mencoba membahas salah satu soal pemrograman yang saya dapatkan ketika saya masih semester 3 dulu. Menurut saya soalnya cukup lumayan sulit jadi, bagi Anda yang belum paham benar tentang ilmu dasar pemrograman saran saya belajar dulu. Berikut ialah soalnya. Buat program yang... Pada tutorial ini, saya akan mencoba membahas salah satu soal pemrograman yang saya dapatkan ketika saya masih semester 3 dulu. Menurut saya soalnya cukup lumayan sulit jadi, bagi Anda yang belum paham benar tentang ilmu dasar pemrograman saran saya belajar dulu. Berikut ialah soalnya. Buat program yang mengenkrip karakter berdasarkan tabel di bawah ini: Dengan pengecualian substring yang diapit tanda (... ) tidak akan di enkrip. Input baris pertama berupa jumlah test case N, N baris berikutnya berupa sebaris string lower case. Output string hasil enkrip 1 baris tiap input. Dimana 1 < N < 100. Okay, gimana sudah baca soalnya kan? Kira kira Anda sudah bisa membayangkan bagaimana teknik untuk menyelesaikan soal di atas. Berikut ialah sampel input dan sampel outputnya. Sampel Input: 1 this is ( cool ) Sampel output: gsrh rh ( cool ) Diatas adalah sampel inputnya, dimana pada baris pertama ialah jumlah case / jumlah kasus yang ada dan di baris berikutnya ialah teks yang akan di enkrip. Pembahasan Pertama, Anda bisa membuat sebuah 2 buah array yang berisi huruf alphabet dari a..z dan z..a Kedua, buatlah sebuah inputan menggunakan pustaka Scanner (Di sarankan menggunakan Scanner karena, lebih mudah dalam proses pembacaannya jika inputan tidak mengandung case string). Ketiga, lakukan perulangan sebanyak jumlah case yang ada untuk melakukan inputan teks yang

akan di enkrip. Keempat, buatlah sebuah perulangan dimana, perulangan ini akan membaca setiap karakter yang ada pada teks dan kemudian akan mengenkripnya yang akan di simpan di variabel baru(buat variabel baru sebagai tempat menyimpan hasil enkrip). Kelima, dalam proses pembacaan karakter tadi(langkah sebelumnya) buat sebuah pengkondisian jika karakter itu mengandung ( dan maka, karakter yang didalamnya akan di loss kan atau dilewatkan begitu saja karena tidak akan di enkrip. Sebelum Anda mengerjakan soal diatas, mari kita coba buat program sederhananya saja terlebih dahulu. Dimana, program ini akan menampilkan huruf alphabet dari a sampai z dan z sampai a. Berikut source codenya. import java.util.arrays; / @author Yudi Setiawan Alphabet / public class Alphabet public static void main(string[] args) String[] az = "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"; String[] za = new String[az.length]; // Mengisi nilai za int index = az.length-1; for(int i = 0; i < za.length; i++) za[index] = az[i]; index--; // Menampilkan nilai az dan za System.out.println("A sampai Z : "+Arrays.toString(az)); System.out.println("Z sampai A : "+Arrays.toString(za)); Dan berikut ialah program percobaan sederhana untuk enkripsi karakter yang di inputkan oleh user.

import java.util.scanner; / @author Yudi Setiawan Percobaan Enkripsi / public class PercobaanEnkripsi public static void main(string[] args) // Objek Scanner; Scanner scan = new Scanner(System.in); // Arrays String[] az = "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"; String[] za = new String[az.length]; // Mengisi nilai dari z..a int index = za.length-1; for(int i = 0; i < za.length; i++) za[i] = az[index]; index--; // Input sebuah kata atau kalimat dan tekan ENTER untuk mengakhiri System.out.println("Masukkan sebuah Kata atau Kalimat:"); String input = scan.nextline(); // Proses Enkripsi String enkrip = ""; for(int a = 0; a < input.length(); a++) String baca = String.valueOf(input.charAt(a)); if(baca.equals(" ")) enkrip += " "; continue; for(int b = 0; b < za.length; b++)

if(baca.equals(az[b])) enkrip += za[b]; // Menampilkan hasil Enkripsi System.out.println("Hasil Enkrip : "+enkrip); Dan berikut ialah source code program Enkrip untuk soal diatas. import java.util.scanner; / @author Yudi Setiawan Enkrip / public class Enkrip public static void main(string[] arguments) // Objek Scanner Scanner scan = new Scanner(System.in); // Array String[] az = "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"; String[] za = new String[az.length]; // Mengisi nilai za int index = az.length-1; for(int i = 0; i < za.length; i++) za[i] = az[index]; index--; // Input jumlah case

int jlh_case = scan.nextint(); // Input kata atau kalimat sesuai dengan jumlah case yang di inputkan String[] input = new String[jlh_case]; for(int a = 0; a < jlh_case; a++) input[a] = scan.nextline(); // Untuk menghindari Null Pointer Exception if(input[a].isempty()) input[a] = scan.nextline(); // Proses Enkripsi String[] output = new String[jlh_case]; for(int a = 0; a < jlh_case; a++) // Deklarasi awal output output[a] = ""; // Proses pembacaan tiap karakter pada kata atau kalimat for(int b = 0; b < input[a].length(); b++) String baca = String.valueOf(input[a].charAt(b)); if(baca.equals(" ")) output[a] += " "; input[a].length(); c++) String.valueOf(input[a].charAt(c)); input[a].indexof(")"); else if(baca.equals("(")) for(int c = b; c < String baca2 = if(baca2.equals(")")) output[a] += ")"; b = break; output[a] += baca2; else for(int c = 0; c < az.length; c++)

if(baca.equalsignorecase(az[c])) za[c]; output[a] += break; // Tampilkan Output for(int a = 0; a < jlh_case; a++) System.out.println(output[a]); Tentang Penulis Yudi Setiawan Saat ini aktif sebagai Mahasiswa di salah satu Universitas di kota Medan dengan mengambil bidang Fakultas Teknik dan Ilmu Komputer. Sangat senang dengan bahasa pemrograman Java dan Android.