IV-1
ANALISIS DAN PERANCANGAN PERANGKAT
LUNAK
Pada bab ini akan diuraikan mengenai analisis pada kebutuhan perangkat lunak, analisis kelas, serta perancangan antarmuka dan kelas dari perangkat lunak tersebut.
4.1 Analisis Perangkat Lunak
Perangkat lunak yang dikembangkan dalam tugas akhir ini berfungsi untuk melakukan penyembunyian data rahasia kedalam dokumen audio dengan format MP3 dan melakukan ekstraksi data tersebut. Perangkat lunak ini diberi nama “TangoStego” yang dibangun diatas platform mobile phone. Berikut akan dijelaskan tentang dekripsi umum sistem, arsitektur dan kebutuhan perangkat lunak serta analisis kelas.
4.1.1 Deskripsi Umum Sistem
Perangkat lunak yang dibangun pada tugas akhir ini memiliki 2 fungsi utama yaitu penyembunyian pesan rahasia (objek steganografi) kedalam berkas audio MP3 dan pengekstrasian kembali objek tersebut. Pada saat menjalankan fungsi penyembunyian, perangkat lunak menerima masukan yaitu berkas audio MP3, pesan rahasia berupa file ataupun string yang langsung diketikkan pada perangkat, dan kunci yang dibangkitkan oleh algortima pembangkit bilangan semu acak (pseudorandom). Keluarannya merupakan berkas audio MP3 juga yang sudah memiliki pesan rahasia didalamnya.
Untuk ekstraksi pesan, perangkat lunak ini menerima masukan berkas audio MP3 dan kunci yang dibangkitkan oleh algoritma pembangkit bilangan semu acak (pseudorandom). Keluaran yang dihasilkan adalah pesan rahasia yang sebelumnya tersembunyi dalam berkas audio MP3. Ilustrasi sistem bisa dilihat pada Gambar IV-1.
Gambar IV-1 Deskripsi Umum Sistem
4.1.2 Arsitektur Perangkat Lunak
Arsitektur dari perangkat lunak yang akan dibangun dapat dilihat pada Gambar IV-2. Dari ilustrasi tersebut dapat dilihat bahwa perangkat lunak memiliki dua modul utama, yaitu model penyembunyian dan ekstraksi pesan.
Masukan dari modul penyembunyian adalah berkas audio MP3, kunci, dan pesan rahasia itu sendiri. Pesan rahasia ini dapat berupa masukan berkas, ataupun berupa string yang langsung diketikkan. Pesan rahasia nantinya akan dienkripsi terlebih dahulu dengan memakai kunci. Proses selanjutnya adalah menyembunyikan pesan rahasia kedalam berkas audio MP3 yang telah dibagi menjadi region-region. Keluarannya adalah berkas audio MP3 yang telah disisipi pesan rahasia tadi yang disebut objek steganogarafi.
Masukan untuk modul ekstraksi pesan adalah objek steganografi (berkas audio MP3) yang mengandung pesan serta kunci. Objek steganografi ini akan dibagi-bagi menjadi region yang sama agar bisa mengambil parity bit yang merupakan cerminan dari pesan yang diinginkan. Selanjutnya pesan ini akan didekripsi agar menghasilkan pesan rahasia yang sebenarnya.
Gambar IV-2 Arsitektur TangoStego
4.1.3 Kebutuhan Perangkat Lunak
Perangkat lunak yang akan dibangun pada tugas akhir ini diharapkan mampu melakukan hal-hal berikut :
1. Membaca dan melakukan penulisan terhadap berkas audio MP3 2. Mengenkripsi pesan
3. Membagi media (berkas audio MP3) kedalam region-region sesuai kebutuhan 4. Mengekstraksi pesan yang disembuyikan ke dalam berkas
5. Mendekripsi pesan yang sudah diekstraksi
4.1.4 Diagram Use Case
Diagram use case digunakan untuk memberikan gambaran kebutuhan perangkat lunak secara visual. Perangkat lunak memiliki 9 buah use case, dan 2 buah aktor. Pengirim
merupakan Penerima yang melakukan penyembunyian pesan kedalam berkas audio sedangkan Penerima adalah pengguna yang melakukan ekstraksi pesan rahasia. Use case Membaca pesan digunakan oleh Pengirim untuk melakukan pembacaaan data pesan dan validasi ukuran pesan terhadap berkas audio, sedangkan use case Menyimpan Pesan memasukkan informasi pesan ke dalam berkas audio. Use case Mengenkripsi Pesan menangani proses enkripsi pesan sebelum disembunyikan. Ketiga use case ini hanya digunakan pada saat penyembunyian pesan. Use case Mengambil Pesan digunakan untuk mengambil kembali pesan yang disembunyikan lalu use case Mendekripsi Pesan melakukan proses dekripsi untuk membentuk kembali pesan rahasia yang asli dan kedua use case ini hanya digunakan pada proses ekstraksi pesan. Use case Membaca Audio dan Membaca Kunci digunakan dalam proses penyembunyian dan ekstraksi pesan sekaligus. Gambar IV-3 merupakan ilustrasi dari use case-use case yang telah dijelaskan sebelumnya dan Tabel IV-1 merupakan penjelasan masing-masing use case tersebut.
Pengirim Penerima Menyimpan Pesan Membaca Pesan Membaca Audio Mengenkripsi Pesan Mengambil Pesan Mendekripsi Pesan Menyembunyikan Pesan Mengekstraksi Pesan <<extend>> <<extend>> <<include>> <<include>> <<include>> <<extend>> <<include>> Sistem Membaca Kunci <<include>> <<include>>
4.1.5 Analisis Kelas
Perangkat lunak ini mempunyai dua buah modul, yaitu modul penyembunyian pesan dan modul ekstraksi pesan. Namun dalam implementasinya kedua modul ini dilakukan pada sebuah kelas yang berfungsi sebagai manager. Untuk lebih memudahkan, analisis akan dilakukan secara terpisah terhadap kedua modul ini.
Tabel IV-1 Narasi Use Case
No. Elemen Use Case Keterangan
1 Nama Menyembunyikan Pesan
Deskripsi Melakukan penyembunyian pesan pada berkas audio Prekondisi Sistem menampilkan menu utama
Proses Pengirim memilih menu penyembunyian pesan Kondisi akhir Sistem masuk ke dalam menu penyembunyian pesan
2 Nama Membaca Audio
Deskripsi Melakukan pembacaan dan parsing audio
Prekondisi Use case Menyembunyikan Pesan atau Mengekstraksi Pesan sudah dilakukan
Proses Pengguna memasukkan berkas audio MP3 Sistem mem-parsing video
Sistem mencatat semua jumlah dan letak frame beserta data yang bisa dijadikan media penyembunyian
Kondisi akhir Alamat audio tersimpan dan sudah tervalidasi
3 Nama Membaca Pesan
Deskripsi Melakukan pembacaan pesan, baik berupa file atau teks Prekondisi Use case Menyembunyikan Pesan sudah dilakukan Proses Pengirim memilih jenis pesan, yaitu file atau teks
Sistem menampilkan layar browser pesan untuk jenis pesan file, dan textbox pesan untuk jenis pesan teks
Pengirim memasukkan pesan
Sistem menyimpan pesan yang dimasukkan Kondisi akhir Pesan sudah tersimpan
4 Nama Membaca Kunci
Deskripsi Melakukan pembacaan kunci
Prekondisi Use case Menyembunyikan Pesan atau Mengekstraksi Pesan sudah dilakukan
Proses Sistem menampilkan textbox kunci Pengirim memasukkan input kunci Sistem menyimpan kunci
Kondisi Akhir Kunci sudah tersimpan
5 Nama Mengenkripsi Pesan
Deskripsi Melakukan enkripsi pesan dengan kunci Prekondisi Pesan dan kunci sudah tersimpan dalam sistem Proses Sistem melakuan enkripsi dengan fungsi dan kunci
No. Elemen Use Case Keterangan
Sistem melakukan pengacakan pesan, sesuai dengan kunci Sistem menyimpan pesan cipher hasil pengacakan tersebut Kondisi akhir Pesan hasil pengacakan sudah tersimpan
6 Nama Menyimpan Pesan
Deskripsi Melakukan penyimpanan pesan ke dalam audio
Prekondisi Use case Membaca Pesan, Membaca Audio dan Membaca Kunci sudah dilakukan
Proses Pengirim menekan tombol ‘Hide’
Sistem membagi berkas audio menjadi region-region sesuai panjang bit pesan
Sistem melakukan use case Mengkripsi Pesan
Sistem melakukan perubahan data audio dengan data pesan, sesuai dengan region yang ada
Kondisi akhir Audio sudah memiliki pesan
7 Nama Mengekstraksi Pesan
Deskripsi Melakukan ekstraksi pesan pada audio Prekondisi Sistem menampilkan menu utama Proses Pengirim memilih menu ekstraksi pesan Kondisi akhir Sistem masuk ke dalam menu ekstraksi pesan
8 Nama Mengambil Pesan
Deskripsi Mengambil kembali pesan yang tersembunyi pada audio Prekondisi Use case Membaca Audio dan Membaca Kunci sudah
dilakukan
Proses Penerima menekan tombol ‘Extract’ Sistem melakukan pembacaan data Audio
Sistem mengolah data tersebut untuk digabungkan menjadi pesan
Sistem melakukan use case Mendekripsi Pesan Kondisi akhir Pesan cipher dihasilkan oleh sistem
9 Nama Mendekripsi Pesan
Deskripsi Mendekripsi pesan cipher yang sudah diambil dari audio Prekondisi Pesan sudah terambil dari berkas audio
Proses Sistem melakukan dekripsi dengan fungsi dan kunci Sistem melakukan pengurutan sesuai dengan kunci Kondisi akhir Pesan cipher sudah terurut menjadi pesan asl
Pesan ditampilkan ke dalam textbox jika pembacaan pesan berasal dari input manual atau ke dalam file jika pembacaan pesan berasal dari input file
1. Proses penyembunyian pesan
Proses untuk penyembunyian pesan membutuhkan tiga buah masukan yaitu berkas audio MP3, pesan rahasia, dan kunci. Ketiga masukan ini dijadikan kelas yang berbeda seperti tampak pada gambar IV-4.
MP3Audio -filepath +AnalyzeMedia() +WriteData() +ReadData()() Kunci -kuncihash +generate() Pesan -filepath -text -bitsize +reader() +writer() +countSize() Manager -MP3Audio -Kunci -Pesan +WritePesan() +Enkripsi() +Embed()
Gambar IV-4 Kelas Analisis pada Penyembunyian Pesan
Kelas ‘MP3Audio’ menangani semua proses terhadap berkas audio termasuk validasi format berkas audio yang dimasukkan, mencari data audio yang bisa dipakai beserta dengan penentuan batas-batas data yang boleh diproses.
Kelas ‘Pesan’ mengatur pembacaaan pesan, baik berupa file maupun berupa teks yang dimasukkan secara manual. Apabila pesan yang dimasukkan bertipe file maka hanya alamat file tersebut yang diambil sedangkan pesan bertipe teks, seluruh isi teks tersebut akan disimpan. Pembacaan ukuran pesan juga akan dilakukan di kelas ini.
Kelas ‘Kunci’ menyimpan kunci masukan lalu melakukan pengambilan satu byte kuncihash yang nantinya akan digunakan dalam proses enkripsi dan dekripsi. Pembangkitan bilangan acak juga dilakukan dalam kelas ini dengan aturan tidak boleh ada bilangan yang sama dalam deret yang dihasilkan untuk menghindari pengambilan bit pada data yang sama.
Dalam proses penyembunyian, Kelas ‘Manager’ akan mengatur proses yang dibutuhkan dan penyimpanan semua informasi masukan user. Kelas ini juga mengatur penyimpanan berkas audio keluaran apakah berkas audio yang dihasilkan menjadi baru atau menimpa berkas yang lama.
2. Proses ekstraksi pesan
Pada ekstraksi pesan, kelas analisis ditunjukkan oleh Gambar IV-5. Pada proses ini hanya dibutuhkan dua buah masukan yaitu berkas audio dan kunci yang telah diatur pada kelas masing-masing yaitu kelas ‘MP3Audio’ dan kelas ‘Kunci’. Manager -MP3Audio -Kunci +ReadPesan() +Extract() +Dekripsi() Kunci -kuncihash +Generate() MP3Audio -filepath +AnalyzeMedia() +WriteData() +ReadData() Pesan -filepath -text -bitsize +Read() +Write() +countSize()
Gambar IV-5 Kelas Analisis pada Ekstraksi Pesan
Kelas MP3Audio tidak melakukan penulisan atau pengubahan data pada berkas audio, tetapi hanya dipakai untuk membaca data dari berkas tersebut,
sedangkan kelas Pesan digunakan untuk menyimpan pesan sementara hasil ekstraksi yang diurutkan melalui bilangan acak pada kelas ‘Kunci’ dan pesan hasil dekripsi. Pesan terakhir merupakan pesan sesungguhnya yang disimpan bersama kedua objek masukan. Pada kelas ini juga dilakukan pengaturan proses pembacaan data.
Diagram kelas analisis untuk keseluruhan modul dapat dilihat pada Gambar IV-6. Jumlah kelas utama pada diagram ini berjumlah lima yaitu Kelas ‘Manager’ akan menangani proses ekstraksi yaitu dengan menyimpan kelas ‘MP3Audio’ dan ‘Kunci’ sebagai masukan dan kelas ‘Pesan’ sebagai keluaran. Kelas ‘TangoStegoMidlet’ digunakan untuk mengatur tampilan aplikasi pada layar ‘Mobile Phone’.
TangoStegoMidlet -Manager Manager -MP3Audio -Pesan -Kunci +Extract() +Embed() +ReadPesan() +WritePesan() MP3Audio -filepath +AnalyzeMedia() +ReadData() +WriteData() Pesan -filepath -text -bitsize +Read() +Write() +countSize() Kunci -kuncihash +Generate()
4.2 Perancangan Perangkat Lunak
Berikut akan dijelaskan mengenai perancangan antarmuka dari TangoStego serta diagram kelas perancangan yaitu kelas yang sudah memiliki atribut dan operasi secara lengkap.
4.2.1 Perancangan Antarmuka
Perangkat lunak TangoStego dirancang layaknya aplikasi wizard , Pada saat aplikasi pertama kali dijalankan layar akan menampilkan menu utama seperti pada gambar IV-7. Disini dapat dipilih kedua modul perangkat lunak yaitu Data Hiding untuk penyembuyian pesan dan Data Extraction untuk ekstraksi pesan.
TangoStego Data Hiding Data Extraction
Exit
Gambar IV-7 Rancangan Antarmuka Menu Utama
Antarmuka pada menu Data Hiding ditunjukkan pada Gambar IV-8. Layar ‘Data Hiding - Input’ adalah tampilan saat meminta masukan untuk proses penyembunyian yaitu berkas audio MP3, output MP3, pesan dan kunci. Dengan memilih list menu mediaMP3 akan muncul file browser untuk masukan berkas audio MP3. List menu mediaMP3 output dipilih untuk memasukkan nama file media output yang akan dihasilkan dimana jika namanya sama maka akan menimpa berkas MP3 sebelumnya, namun jika berbeda akan membentuk file baru MP3.
Untuk memasukkan pesan, jenis pesan dipilih terlebih dahulu yaitu pada layar ‘Data Hiding Pesan’. Untuk jenis file, maka file browser ‘Input File Pesan’ akan muncul, sedangkan untuk jenis teks, maka akan muncul text box seperti pada layar ‘Input Teks Pesan’. Kunci bisa dimasukkan jika memilih list menu Kunci yang akan
memunculkan text box pada layar ‘Input Kunci’. Setelah keempat masukan sudah ada, maka informasi keempat masukan ini akan muncul pada layar ‘Data Hiding - Input’. Apabila user setuju dengan keempat masukan maka user tersebut bisa melanjutkan proses penyembunyian dengan memilih list menu Proceed. Layar Data Hiding – Done akan memberikan alert lalu secara otomatis kembali ke layar menu utama.
Data Hiding - Input Pesan : “images.jpeg” MediaMP3 : “music.mp3” Media output : “music-x.mp3”
Kunci : CONFIRMED Pesan MediaMP3 Output Kunci Proceed Back
Data Hiding - Pesan File ../ Pesan/ Media/ sample.txt Select Back
Data Hiding - Pesan
Select Back File Text Input MediaMP3 ../ Pesan/ Media/ sample.txt Select Back
Data Hiding – Media Output
OK Back
music-x.mp3 Filename : Data Hiding – Pesan Text
OK Back
Text :
Ini adalah teks pesan .. !
Input Kunci
OK Back
****** Kunci :
Gambar IV-8 Rancangan Antarmuka Modul Penyembunyian Pesan
Antarmuka utama pada menu Data Extraction ditunjukkan pada Gambar IV-9. Layar untuk meminta masukan ditunjukkan pada layar ‘Data Extraction - Input’ dimana hanya dapat memasukkan berkas audio MP3 dan kunci. Sama seperti Data Hiding,
pada input berkas MP3 akan muncul file browser untuk memilih media MP3 yang akan diekstraksi dan untuk masukan kunci akan muncul text box pada layar ‘Input Kunci’. Jika user sudah yakin akan kebenaran informasi masukan yang terlihat pada layar Data Extraction - Input, maka user bisa melakukan proses ekstraksi dengan memilih list menu ekstraksi yang ada. Hasil keluaran pesan yang sebelumnya berupa file akan ditulis dengan nama file yang persis sama pada Data Hiding, sedangkan keluaran pesan yang sebelumnya berupa teks akan dikeluarkan juga pada text box pada layar ‘Pesan Text Extraction’.
Data Extraction - Input
Media MP3 : “music-x.mp3” Kunci : CONFIRMED MediaMP3 Kunci Proceed Back Input MediaMP3 ../ Pesan/ Media/ sample.txt Select Back Input Kunci OK Back ****** Kunci :
Gambar IV-9 Rancangan Antarmuka Modul Ekstraksi Pesan
4.2.2 Perancangan Kelas
Berdasarkan analisis pada subbab sebelumnya, didapatkan daftar kelas perancangan seperti yang ditunjukkan pada tabel IV-2. Terdapat dua buah kelas tambahan yaitu Kelas Library yang berfungsi menyimpan semua konstanta dan tipe yang diperlukan pada kelas-kelas utama dan kelas Region untuk menyimpan atribut batas awal dan batas akhir region yang dibentuk pada saat proses penyembunyian dan ekstraksi di kelas Manager.
Nilai-nilai untuk atribut kelas Region akan didapat dari analisis berkas audio MP3 pada kelas MediaMP3. Detil dari atribut dan operasi masing-masing kelas dapat dilihat pada lampiran B, sedangkan diagram kelas perancangan beserta hubungan antar kelas terdapat pada Gambar IV-9.
Tabel IV-2 Daftar Kelas Perancangan
Nama Kelas Keterangan
TangoStegoMidlet Kelas yang mengatur tampilan perangkat
lunak
Manager Kelas yang mengatur proses penyembunyian
pesan dan ekstraksi pesan
MP3Audio
Kelas yang mengatur proses penentuan batas region, pembacaan dan penulisan berkas audio serta penyimpanan
Pesan Kelas yang mengatur pembacaan dan
penyimpanan pesan
Kunci Kelas yang mengatur pembangkitan kunci
Library Kelas yang menyimpan semua nilai
konstanta dan tipe yang dibutuhkan
Kunci -kunciReady: boolean -panjangKunci: int -kunciHash: String -password: String -md5: MD5 -rand: Random -counterKey: int -theKey: int[*] -boolKey: boolean[*] <<create>>+Kunci() +setKunci(nText: String) +GetKunciHash(): String -generateSeedMD5() +generateTheKey(sizeKey: int) +getNextInt(): int +setPassword(nPassword: String) +getPassword(): String +getStatus(): boolean Library +TYPE_FILE: short = 0 +TYPE_TEXT: short = 1
+ErrorHiding: String = "Masukan pesan terlalu besar" +ErrorInputMP3: String = "File masukan tidak dalam format MP3" +PesanNotReady: String = "Masukan pesan belum ada" +MediaMP3NotReady: String = "Masukan media MP3 belum ada" +KunciNotReady: String = "Masukan kunci belum ada" +EkstractionFailed: String = "Ekstraksi gagal;" +HidingFailed: String = "Penyembunyian gagal" +EkstractionSucceed: String = "Ekstraksi berhasil;" +HidingSucceed: String = "Penyembunyian berhasil" +ExSavingFile: String = "Pesan hasil ekstraksi disimpan di "
Manager
-arrayRegion: Vector <<create>>+Manager() +byteToBit(x: int): String +XOR(a: char, b: char): char +bitToInt(bit: String): int
+EnkripsiECB(pesan: Pesan, kunci: Kunci): String +DekripsiECB(cipher: String, kunci: Kunci): byte +showResult(pesan: Pesan, path: String): boolean +setRegion(b: int, mp3: MP3Audio)
+Embed(mp3: MP3Audio, cipher: String, pesan: Pesan) +Parity(input: byte, pesan: char): boolean +getParity(input: byte): byte
+Extract(mp3: MP3Audio, kunci: Kunci, pesan: Pesan): boolean
MP3Audio -mediaReady: boolean -url: String -urlOutput: String -sama: boolean -fileName: String -fileConnectionInput: FileConnection -fileConnectionOutput: FileConnection -dataInputStream: DataInputStream -dataOutputStream: DataOutputStream -panjangMedia: int -countFrame: int -countDataLength: int -arrInfo: Vector <<create>>+MP3Audio() +getArrInfo(): Vector +getCountDataLength(): int +getCountFrame(): int +getMediaFileName(): String +setMediaFileName(fileurl: String) +setURL(nURL: String) +setURLOutput(FileNameOutput: String) +setURLExist(FileNameOutput: String) +getFileName(): String +getPath(): String +openFileRead() +openFileWrite() +closeFileRead() +closeFileWrite() -readNext(): byte +AnalyzeMedia() +isInFrame(): boolean +GetStatus(): boolean
+getByteRegion(pos_awal: int, length: int): byte +byteToBit(x: int): String
+setBitParityRegion(inputRegion: Vector, InfoPesan: String) +isMP3Exist(filename: String): boolean
+saveMP3hasil() +getInformasi(): String Pesan -messageReady: boolean -type: int = 15 -url: String -fileName: String -BytePesan: byte[*] -text: StringBuffer -fileConnection: FileConnection -dataInputStream: DataInputStream -dataOutputStream: DataOutputStream -panjangPesan: int -PanjangBitPesan: int <<create>>+Pesan() +GetPanjangPesan(): int +setPanjangBitPesan() +setPanjangBitPesan(panjang: int) +getPanjangBitPesan(): int +getMessageFileName(): String +setMessageFileName(fileurl: String) +setFileName(name: String) +setMessageText(text: String) +getMessageText(): String +isMessageFile(): boolean +openFileRead() +closeFileRead() +getFileName(): String +setURL(nURL: String) +setType(nType: int) +setText(nText: String) +setBytePesan(input: byte) +getBytePesan(): byte +getType(): int +getText(): String -readNext(): byte +savePesan() +GetStatus(): boolean
+saveToFile(path: String, namaFile: String)
Region -bitAwal: int -bitAkhir: int -similar: boolean <<create>>+Region() +isSimilar(): boolean +setSimilar(similar: boolean) +setRegion(a: int, b: int) +getBitAwalRegion(): int +getBitAkhirRegion(): int +toString(): String
TangoStegoMIDlet
-midletPaused: boolean = false -pesan: Pesan = null -mediaMP3: MP3Audio = null -kunci: Kunci = null -hiding: Manager = null -mode: int = 0 -mode_embedd: int = 0 -mode_extract: int = 1 -tanda: boolean -exitCommand: Command -okCommand: Command -backCommand: Command -Process: Command -YesCommand: Command -NoCommand: Command -formTangoStego: Form -spacer: Spacer -listMode: List -formInputEm: Form -stringItem: StringItem -PesanBrowser: FileBrowser -listInputMessage: List -PesantextBox: TextBox -formInputKunci: Form -textField: TextField -mediaBrowser: FileBrowser -formInputEx: Form -alertError: Alert -formSaveMp3: Form -spacer13: Spacer -alertSukses: Alert -formConfirmation: Form -alertEx: Alert -waitScreen: WaitScreen -task: SimpleCancellableTask <<create>>+TangoStegoMIDlet() -initialize() +startMIDlet() +resumeMIDlet()
+switchDisplayable(alert: Alert, nextDisplayable: Displayable) +commandAction(command: Command, displayable: Displayable) +getExitCommand(): Command +getFormTangoStego(): Form +getOkCommand(): Command +getBackCommand(): Command +getListMode(): List +listModeAction() +getFormInputEm(): Form +getStringItem(): StringItem +getProcess(): Command +getPesanBrowser(): FileBrowser +getListInputMessage(): List +listInputMessageAction() +getPesantextBox(): TextBox +getMediaBrowser(): FileBrowser +getFormInputKunci(): Form +getTextField(): TextField +getAlertError(): Alert +getFormInputEx(): Form +getFormSaveMp3(): Form +getAlertSukses(): Alert +getAlertEx(): Alert +getFormConfirmation(): Form +getWaitScreen(): WaitScreen +getTask(): SimpleCancellableTask +getDisplay(): Display +exitMIDlet() +startApp() +pauseApp() +destroyApp(unconditional: boolean)