Manipulasi String di Java
Ditulis oleh karsanto di/pada 6 Desember 2008
Manipulasi String di Java
Hari ini kembali posting…..akhirnya….
Mo bagi2 pengalaman nih dengan temen2 yang ingin melamar di perusahaan yang meminta requirment untuk bahasa pemrograman java. Soalnya kemarin aku baru ikut written test pada salah satu perusahaan di jakarta, dan mengalami kesulitan dan pasti gagalnya…hiks…sedih bukan? Ya sudahlah, namannya pengalaman gagal tidak ada yang berguna….pasti berguna. Dan kali ini aku mau share ke dunia ttg tips & trick persiapan sebelum written test.
Dalam artikel ini saya juga menyertakan salah satu contoh soal dari written test perusahaan tersebut loch…. buat bagi2 pengalaman
Kita langsung aja to the permasalahan, asumsi case yang mau saya bagi adalah Written Test dengan agenda sbb :
- Test Bahasa Inggriss (pilihan ganda – vocabulary; sentences; understanding a paragraph)
- Test Kemampuan Teknis (essay – OOP concept; how to manipulate string; how to manipulate number)
Menurut kesimpulan saya (mohon koreksinya jika ada kesalahan), jika agendanya seperti ini mereka ingin make sure klo kita :
- Tidak hanya bisa ber-bahasa inggris dengan baik dan benar, tetapi kita diharapkan untuk punya pengetahuan umum yang luas juga (vocab) serta bisa mengerti maksud dan tujuan dari sebuah kalimat dan paragraph (understanding a paragraph). Mungkin akan terlihat agak over expected, tapi positive thinkingnya klo kita bisa hal2 diatas maka akan tidak sulit bagi kita untuk belajar, mengerti, dan dapat mengimplementasikan teknologi yang baru dengan cepat yang notabene semua dalam bahasa inggriss. Ya begithulah kira2……
- Tidak hanya bisa memakai pemrograman java (dalam hal ini) tetapi kita dituntut untuk mengerti konsep dan fasih dalam menggunakannya. Klo konsep mungkin sudah tak ada masalah laghi, tinggal baca dan pemahamannya tentunya tergantung point yang diatas. Tapi klo mengenai fasih dalam menggunakannya, aku liat2 selama ini hanya 2 hal yang ditekankan yaitu : bisa memanipulasi String dan Number.
Jadi, bagi temen2 yang mau melakukan persiapan untuk mengikuti written test dalam rangka perekrutan pegawai baru di suatu perusahaan dengan asumsi2 sesuai pengalaman saya, mudah2an bisa sedikit mempersempit bahan yang akan dipelajari….hehehe.
Nah sekarang kita bahas salah satu soalnya yuk. Sebenarnya ada 2 soal yang mo saya share tapi kali ini saya akan mencoba membahas soal yang sesuai judul artikel ini :
Manipulasi String di Java
Soalnya berbunyi demikian (mudah2an ga salah translate, soal asli dalam bahasa inggris soalnya) :
Buatlah kode dengan petunjuk sebagai berikut, buatlah method untuk memanipulasi string yang masuk. Manipulasi yang dilakukan adalah me-reverse string yang masuk sesuai numParam yang masuk. Sehingga, jika method tersebut dijalankan akan menghasilkan sebagai berikut :
rev("Aku seorang kapitain", 2); //return : seorang kapitain Aku
rev("Manipulasi String di Java", 3); //return : String di Java Manipulasi
Jawabannya seperti ini :
package com.sumantoro.eujian.ui;
/**
*
* @author SANTO
* Soal Written Test penerimaan pegawai baru di suatu perusahaan IT from MySelfExperienced
*/
public class MainTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String test = "Aku seorang kapitain";
rev(test, 2);
}
/**
* Method untuk menyusun ulang word[] dari String sentence sesuai dengan int numParam
* ex: sentence = "Aku seorang kapitain; numParam = 2"
* maka : String retval = "seorang kapitain Aku"
*
* @param sentence = Kalimat yang masuk
* @param numParam = Jumlah Kata yang harus di-reverse
*/
private static void rev (String sentence, int numParam){
/** I. APPETIZER
*
* 1. Define pemisah antar kata dalam variable String "sentence" ("pemisahAntarKata")
* 2. Define array of String dari "sentence" by "pemisahAntarKata" ("arrayKata")
* 3. Define int panjang array dari "arrayKata" ("panjangArrayKata")
* 4. Siapkan variable String untuk hasil susunan kata nantinya ("retval")
*
*/
String pemisahAntarKata = " ";
String[] arrayKata = sentence.split(pemisahAntarKata);
int panjangArrayKata = arrayKata.length;
String retval = null;
/** II. MAIN COURSE
*
* Lakukan Validasi variable yang masuk (sentence, numparam) :
*
* 1. Tidak Valid (numParam yang masuk > panjang array of word)
* 1.1 berikan nilai retval = null
* 1.2 cetak retval
*
* 2. Valid (numParam yang masuk < panjang array of word)
* 2.1 Susun retval berdasarkan iterasi descending dari arrayKata selama numParam > 0
* 2.2 Susun retval berdasarkan iterasi ascending dari arrayKata selama iterasi < panjangArrayKata - numParam
* 2.3 cetak retval
*
*/
if (numParam > panjangArrayKata) {
retval = null;
}else{
for (int i = numParam; i > 0; i--) {
if (retval == null) {
retval = arrayKata[panjangArrayKata - i];
} else {
retval = retval + pemisahAntarKata + arrayKata[panjangArrayKata - i];
}
}
for (int i = 0; i < panjangArrayKata - numParam; i++){
retval = retval + pemisahAntarKata + arrayKata[i];
}
}
System.out.println(retval);
}
}
Oiya, klo ada suggest; kritik; saran; komentar…..atau apa aja, dipersilahkan loh. Tujuan dari artikel ini untuk berbagi pengalaman dan mudah2 bisa menjadi salah satu kontribusi dari saya (walaupun sangat kecil pengaruhnya) untuk mencerdaskankan bangsa….hehehehe…nasionalis bangget deh pokoknya.
Semoga bermanfaat. Terimakasih. Salam Sukses Buat Bangsa Indonesia