Merubah Kata Menjadi Kapital
Hallo semuanya, berjumpa lagi dengan saya sang programmer pemula. Cerita kali ini mengenai hasil iseng-iseng saya membuat sebuah method.
Singkat cerita saya sedang mengerjakan sesuatu, kemudian sampai pada suatu titik saya ingin mengubah format tulisan yang diinput oleh user yang tadinya huruf kecil semua atau HURUF BESAR SEMUA atau nYamPUr-NyaMPur menjadi Setiap Awal Kata Pakai Huruf Besar. Karena saya baru belajar dan karena penasaran saya ingin cepat-cepat menyelesaikan masalah itu. Akhirnya bertanyalah saya ke sebuah forum programmer Java dengan harapan Java memiliki method untuk melakukan tugas itu. Setelah menunggu ada beberapa yang membalas, dan ternyata semuanya memberikan jawaban dari hasil kreasi mereka sendiri, Java tidak menyediakan.
Karena kode mereka agak panjang dan saya juga ingin mengasah kemampuan saya akhirnya saya berusaha membuat method sendiri. Berikut hasilnya,
1. Method tersebut saya beri nama "capitalize" sesuai dengan tujuannya, ingat untuk menamakan method biasakan menggunakan huruf kecil.
2. Method tersebut saya buat dengan return berupa data
3. Method tersebut saya buat sebagai static method agar ketika saya ingin memanggil method ini dari class yang berbeda saya tidak perlu membuat sebuah object dari class tempat method ini bersarang, tinggal langsung panggil aja NamaClass.capitalize("Kalimat yang akan diformat");
4. Method tersebut saya buat dengan parameter sebuah data bertipe
5. Kemudian saya membuat variable bernama
6. Selanjutnya saya membuat sebuah variable array bernama
7. Berikutnya saya buat sebuah variable array lagi bernama huruf namun kali ini bertipe
8. Karena tadi si parameter "kalimat" sudah dipecah menjadi kata-kata dan disimpan di dalam array
10. Karena kata yang ada akan dirubah/diformat maka kata yang sudah disimpan saya hapus denga cara meng-assign variable kata pada element ke k dengan nilai kosong (hanya tanda petik tanpa ada apa-apa diantaranya).
11. Selanjutnya saya proses huruf-huruf hasil pecahan dari kata pada element ke k. Sama seperti sebelumnya saya menggunakan loop. Di dalam loop saya buat sebuah perintah yaitu,
Singkat cerita saya sedang mengerjakan sesuatu, kemudian sampai pada suatu titik saya ingin mengubah format tulisan yang diinput oleh user yang tadinya huruf kecil semua atau HURUF BESAR SEMUA atau nYamPUr-NyaMPur menjadi Setiap Awal Kata Pakai Huruf Besar. Karena saya baru belajar dan karena penasaran saya ingin cepat-cepat menyelesaikan masalah itu. Akhirnya bertanyalah saya ke sebuah forum programmer Java dengan harapan Java memiliki method untuk melakukan tugas itu. Setelah menunggu ada beberapa yang membalas, dan ternyata semuanya memberikan jawaban dari hasil kreasi mereka sendiri, Java tidak menyediakan.
Karena kode mereka agak panjang dan saya juga ingin mengasah kemampuan saya akhirnya saya berusaha membuat method sendiri. Berikut hasilnya,
public static String capitalize(String kalimat){
String kalimatBaru ="";
String[] kata = kalimat.split(" ");
char[] huruf;
for (int k = 0; k < kata.length; k++){
huruf = kata[k].toCharArray();
kata[k] ="";
for (int h = 0;h < huruf.length; h++){
kata[k] += ((h==0)?(String.valueOf(huruf[h]).toUpperCase()):
String.valueOf(huruf[h]).toLowerCase());
}
kalimatBaru += kata[k] +" ";
}
return kalimatBaru.trim();
}
Penjelasan:1. Method tersebut saya beri nama "capitalize" sesuai dengan tujuannya, ingat untuk menamakan method biasakan menggunakan huruf kecil.
2. Method tersebut saya buat dengan return berupa data
String
dengan harapan method tersebut akan memberikan output data berupa kalimat baru yang sudah diformat.3. Method tersebut saya buat sebagai static method agar ketika saya ingin memanggil method ini dari class yang berbeda saya tidak perlu membuat sebuah object dari class tempat method ini bersarang, tinggal langsung panggil aja NamaClass.capitalize("Kalimat yang akan diformat");
4. Method tersebut saya buat dengan parameter sebuah data bertipe
String
, yaitu kalimat yang akan diformat.5. Kemudian saya membuat variable bernama
kalimatBaru
dengan tipe data String
yang nantinya akan menyimpan kalimat yang sudah diformat.6. Selanjutnya saya membuat sebuah variable array bernama
kata
dengan tipe data String
. Variable ini langsung saya assign value-nya karena data yang dibutuhkan sudah tersedia yaitu "kalimat". Jadi variable ini adalah variable yang menyimpan kata per kata hasil pecahan dari "kalimat". Kalimat tersebut saya pecah berdasarkan spasi.7. Berikutnya saya buat sebuah variable array lagi bernama huruf namun kali ini bertipe
char
, karena sesuai dengan namanya variable ini akan menyimpan data berupa huruf-huruf dari setiap kata yang tadi sudah dipecah-pecah.8. Karena tadi si parameter "kalimat" sudah dipecah menjadi kata-kata dan disimpan di dalam array
kata
maka saya buat sebuah "loop" yang akan memproses setiap kata tersebut. Dalam contoh ini saya menggunakan loop for. Karena loop ini untuk memproses data array dimana element array dimulai dari 0 dan berakhir di jumlah element - 1, maka loop tersebut saya buat for (int k = 0; k < kata.length; k++). Diterjemahkan kedalam bahasa manusia menjadi,Hei compiler, tolong eksekusi setiap kode yang ada di dalam jangkauan loop ini dimulai dari k = 0, dieksekusi selama nilai k kurang dari banyaknya element kata, setiap selesai satu kali eksekusi tambahkan nilai k dengan 1.9. Di baris pertama dalam loop saya memecah kata pada element ke k menjadi huruf-huruf, untuk nilai k = 0 maka kata yang dipecah adalah kata pertama, kemudian huruf-huruf tersebut saya simpan kedalam variable huruf.
10. Karena kata yang ada akan dirubah/diformat maka kata yang sudah disimpan saya hapus denga cara meng-assign variable kata pada element ke k dengan nilai kosong (hanya tanda petik tanpa ada apa-apa diantaranya).
11. Selanjutnya saya proses huruf-huruf hasil pecahan dari kata pada element ke k. Sama seperti sebelumnya saya menggunakan loop. Di dalam loop saya buat sebuah perintah yaitu,
Hei compiler, tolong di cek berapa nilai h, jika nilainya 0 maka huruf pada element ke h tersebut jadikan uppercase (kapital) jika bukan 0 maka jadikan lowercase (kecil). Setelah dicek tolong dimasukkan ke dalam kata ke k.
String.valueof()
adalah sebuah method dari API Java yang berfungsi untuk mengkonvert data yang tadinya bukan String
menjadi String
.12. Setelah huruf-huruf dari kata lama selesai dieksekusi/diformat menjadi kata baru selanjutnya kata baru tersebut dimasukan ke dalam kalimat baru dengan ditambahkan spasi.
13. Dan yang terakhir mengembalikan kalimat yang baru kepada si pemanggil method. Saya tambahkan
trim()
agar kelebihan spasi di ujung kalimat dihapus.Method tersebut bisa dicoba dengan cara berikut,
public static void main(String[] args){
System.out.println(capitalize("percobaan pertama")); // output: Percobaan Pertama
System.out.println(capitalize("percobaan kedua dan ketiga")); /* output: Percobaan Kedua dan Ketiga*/
System.out.println(capitalize("perCobAan keEmpAt")); // output: Percobaan Keempat
}
Silakan dicoba, jika bermanfaat bagi pembaca jangan sungkan untuk menggunakannya untuk tujuan apapun. Sekian dulu cerita hari ini. Sampai jumpa lagi di curhatan-curhatan berikutnya. :D
0 comments: