pk_a_232014020_remi_t4

10
A. Definisi Masalah Pemahaman permasalahan merupakan suatu hal yang sangat penting bagi sipemrogram. Sipemrogram perlu memahami permasalahan yang dihadapi dan yang akan diselesaikan oleh pemesan program, agar hasil pendefinisian masalah tidak menyimpang dari masalah yang sedang dihadapi. Setelah menyamakan persepsi tentang suatu masalah yang dihadapi dan akan diselesaikan, maka pemrogram dapat mengidentifikasi permasalahan tersebut secara rinci, dan menentukan ruang lingkup permasalahan yang akan diselesaikan terlebih dahulu, dan kemungkinan kendala-kendala yang akan dihadapi, lalu berapa lama proses penyelesaian masalah tersebut. Pemrograman harus membuat langkah-langkah penyelesaian masalah berdasarkan ruang lingkup permasalahan yang ditentukan, sehingga pekerjaan pembuatan program terarah dan terjadwal dengan baik. Masalah yang perlu didefinisikan adalah komponen input dari suatu program yang akan dirancang tersebut apa saja yang akan terjadi didalam menyelesaikan program tersebut dan menampilkan hasilnya, yang terakhir adalah komponen output yang diinginkan seperti apa, dan formatnya bagaimana. B. Menganalisa Masalah Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer. Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk

Upload: remilla-sapta-nada

Post on 30-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

qwerty

TRANSCRIPT

A. Definisi Masalah

Pemahaman permasalahan merupakan suatu hal yang sangat penting bagi sipemrogram. Sipemrogram perlu memahami permasalahan yang dihadapi dan yang akan diselesaikan oleh pemesan program, agar hasil pendefinisian masalah tidak menyimpang dari masalah yang sedang dihadapi. Setelah menyamakan persepsi tentang suatu masalah yang dihadapi dan akan diselesaikan, maka pemrogram dapat mengidentifikasi permasalahan tersebut secara rinci, dan menentukan ruang lingkup permasalahan yang akan diselesaikan terlebih dahulu, dan kemungkinan kendala-kendala yang akan dihadapi, lalu berapa lama proses penyelesaian masalah tersebut. Pemrograman harus membuat langkah-langkah penyelesaian masalah berdasarkan ruang lingkup permasalahan yang ditentukan, sehingga pekerjaan pembuatan program terarah dan terjadwal dengan baik.

Masalah yang perlu didefinisikan adalah komponen input dari suatu program yang akan dirancang tersebut apa saja yang akan terjadi didalam menyelesaikan program tersebut dan menampilkan hasilnya, yang terakhir adalah komponen output yang diinginkan seperti apa, dan formatnya bagaimana.

B. Menganalisa Masalah

Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.Dalam pembuatan flowchart tidak ada rumus atau kaidah baku yang bersifatmutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer, sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.Namun secara garis besarnya, setiap pengolahan selalu terdiri dari 3 (tiga) bagian utana, yaitu : Input Proses Output

C. Mendesain Algoritma

Algoritma merupakan langkah-langkah (prosedur) yang harus dilakukan untuk menyelesaikan sebuah masalah.Program komputer umumnya dibangun dengan menggunakan beberapa algoritma untuk menyelesaikan sebuah permasalahan. Misalnya sebuah program pencarian teks seperti grep akan memerlukan algoritma khusus untuk membaca dan menelusuri file, algoritma lain untuk mencari teks yang tepat di dalam file, dan satu algoritma lagi untuk menampilkan hasil pencarian ke pengguna.Dalam mendefinisikan algoritma, kita harus dapat mendefinisikan tiga hal utama dengan jelas, yaitu:1. Masalah, yaitu sebuah persoalan yang ingin diselesaikan oleh sebuah algoritma. Contoh Pengurutan sekumpulan nilai yang bernilai acak.2. Masukan, yaitu contoh data atau keadaan yang menjadi permasalahan. Contoh Serangkaian data berukuran $n$.3. Keluaran, yaitu bentuk akhir dari data atau keadaan setelah algoritma diimplementasikan ke masukan. Keluaran merupakan hasil ideal yang diinginkan dan dianggap telah menyelesaikan masalah. Contoh Serangkaian data berukuran $n$, dengan urutan a1a2a3...an1an, di mana ax adalah data pada posisi x dalam rangkaian.Data masukan yang diinginkan merupakan rangkaian data, tanpa memperdulikan jenis data (angka, huruf, teks, dan lainnya). Contoh dari nilai masukan adalah [2, 5, 1, 3, 4] ataupun ["Doni", "Andi", "Budi", "Clara"]. Data keluaran yang diinginkan, tentunya adalah data masukan yang telah terurut: [1, 2, 3, 4, 5] dan ["Andi", "Budi", "Clara", "Doni"].Untuk menyelesaikan masalah yang diberikan di atas, kita dapat menggunakan algoritma insertion sort. Kode di bawah menunjukkan implementasi insertion sort pada bahasa pemrograman python:def insertion_sort(data): for i in range(0, len(data)): insert_val = data[i] hole_pos = i

while hole_pos > 0 and insert_val < data[hole_pos - 1]: data[hole_pos] = data[hole_pos - 1] hole_pos = hole_pos - 1

data[hole_pos] = insert_valImplementasi insertion sort yang diberikan di atas menunjukkan bahwa pada dasarnya sebuah prosedur yang harus dijalankan untuk mengubah data masukan menjadi data keluaran, sehingga masalah dapat terselesaikan.Sebelum mulai membangun model permasalahan, tentunya kita terlebih dahulu harus mengetahui jenis-jenis model yang ada. Terdapat enam jenis model yang umum digunakan untuk menggambarkan masalah dalam dunia algoritma / pemrograman, yaitu:1. Model NumerikModel numerik merupakan model matematis yang paling sederhana, yang dibuat untuk mendeskripsikan jumlah atau ukuran dari sesuatu. Model numerik menggunakan angka (1, 2, 3, dst) untuk mendeskripsikan suatu hal. Misalkan gambar di bawah:2. Model SimbolikJika kita mengembangkan model numerik lebih jauh, kita kemudian dapat menambahkan simbol-simbol baru untuk melakukan pemrosesan terhadap angka-angka yang ada pada model numerik. Terdapat empat buah simbol dasar untuk pemrosesan angka, yaitu +,,,dan. Simbol = juga digunakan untuk menandakan kesamaan nilai antara ruas kiri dan ruas kanan dari =.3. Model SpasialTidak semua permasalahan yang diselesaikan oleh matematika atau komputer selalu berhubungan langsung dengan angka. Terkadang kita menjumpai juga masalah-masalah yang berhubungan dengan representasi dunia nyata seperti perhitungan jarak dua objek atau pencarian jalur terdekat untuk kendaraan. Secara tradisional, model untuk penyelesaian masalah seperti ini digambarkan dengan peta, graph, dan gambar-gambar teknis lainnya.Untuk dunia komputer, model-model dunia nyata biasanya digambarkan dengan menggunakan koordinat. Sistem koordinat yang paling populer digunakan dalam hal ini adalah koordinat kartesius. Koordinat kartesius merupakan sistem koordinat yang menggambarkan sebuah nilai riil di dalam kumpulan nilai yang direpresentasikan dengan sebuah garis. Sistem kartesius dapat digambarkan dalam banyak dimensi, sesuai dengan jumlah kumpulan nilai yang digambarkan.4. Model LogisModel logis merupakan cara memodelkan masalah berdasarkan logika matematika. Terdapat empat cabang utama dari logika matematika, yaitu teori himpunan, teori model, teori rekursif, dan teori pembuktian. Masing-masing teori memiliki cara pemodelan yang berbeda-beda, untuk merepresentasikan masalah yang berbeda. Tulisan ini hanya akan membahas pemodelan logis pada bidang himpunan, dan relevansinya dengan salah satu sistem yang paling populer di dunia komputer: basis data.Himpunan, seperti namanya, memodelkan sekumpulan entitas yang memiliki atribut (ciri khas) tertentu. Dalam menentukan atribut tujuan dari pengunaan himpunan lebih penting daripada kesamaan ciri khas dari entitas, sehingga terkadang atribut dari elemen-elemen dalam himpunan tidak selalu dapat dilihat dengan mudah. Misalnya, kita dapat mendeklarasikan sebuah himpunan dengan nama Himpunan Barang dalam Handbag dengan isi berupa handphone, gunting kuku, alat make-up, tissue, dompet, alat tulis, dan karet gelang. Secara sekilas semua entitas yang ada di dalam himpunan tidak terlihat memiliki atribut yang jelas, meskipun himpunan ini adalah himpunan yang valid.5. Model StatistikTerdapat banyak permasalahan di dunia nyata yang tidak dapat dimodelkan dengan mudah menggunakan keempat model matematis yang telah kita bahas sebelumnya. Terkadang kita dihadapkan dengan permasalahan yang sangat kompleks, sampai-sampai memodelkan dan menganalisa setiap situasi yang mempengaruhi masalah tersebut akan menjadi sangat mahal, memerlukan banyak orang, dan banyak waktu.Sebagai contoh, bayangkan jika kita diminta untuk melakukan prakiraan cuaca. Dengan menggunakan model matematis yang ada, kita akan memerlukan sangat banyak kalkulasi, yang saling mempengaruhi satu sama lainnya. Praktisnya, kita harus mampu melakukan simulasi terhadap seluruh elemen yang ada di bumi untuk melakukan prakiraan cuaca dengan tepat. Hal ini tentunya sangat tidak efektif untuk dilakukan. Lalu bagaimana para ahli sekarang melakukan prakiraan cuaca?Jawabannya adalah model statistik. Dengan mengumpulkan sampel data cuaca pada masa lalu, kita dapat melihat kecenderungan atau tren cuaca yang akan terjadi sesuai dengan keadaan cuaca kita sekarang. Pada dasarnya, sebuah model statistik melakukan analisa tren terhadap sampel data yang relevan untuk meniadakan ketidak pastian atau keadaan khusus. Dengan mengambil keadaan rata-rata dari sekumpulan data, kita akan mendapatkan kecenderungan dari sebuah keadaan jika dihadapkan dengan keadaan umumnya.6. PseudocodeSemua model matematis yang telah dijelaskan sebelumnya merupakan model matematika yang digunakan dan dimengerti oleh manusia. Jika ingin menggunakan model matematis tersebut di komputer, terlebih dahulu kita harus melakukan konversi menjadi kode program yang dapat dibaca dan dimengerti oleh komputer. Kode program sendiri dimodelkan dengan banyak cara, dan yang paling relevan dengan algoritma ialah pseudocode.Pseudocode memberikan langkah-langkah penyelesaian masalah dengan menggunakan bahasa manusia, dengan sedikit batasan sesuai dengan konstruk logika komputer. Pseudocode tidak memiliki konstruk untuk bahasa pemrograman tertentu, sehingga pseudocode harus bisa diimplementasikan dengan bahasa pemrograman apapun. Berikut adalah contoh pseudocode sederhana:for i = 1 to 5 do print iend forProses pengembangan model dapat dilakukan dengan beberapa langkah yang telah dibangun oleh para ahli matematika. Jika proses pengembangan model dilakukan mengikuti langkah-langkah yang ada, idealnya kita akan mendapatkan model yang tepat untuk permasalahan yang akan diselesaikan. Adapun langkah-langkah yang harus diambil untuk membangun sebuah model yaitu:1. Apakah masalah yang dihadapi merupakan masalah yang memerlukan solusi matematis? Jika masalahnya merupakan masalah numerik (perhitungan angka) atau logis, maka jawabannya sudah pasti ya. Jika solusi dari masalah berupa pendapat, maka kemungkinan jawabannya adalah tidak.2. Fakta-fakta relevan apa saja yang diketahui? Masalah umum yang dihadapi saat akan membangun solusi adalah informasi yang terlalu banyak, yang terkadang mencuri fokus kita dari akar masalah. Pisahkan antara fakta (informasi) yang relevan dari keseluruhan informasi yang didapatkan.3. Fakta atau informasi tambahan apa yang kita perlukan untuk menyelesaikan masalah? Di mana atau bagaimana cara agar kita mendapatkan fakta-fakta tersebut?4. Adakah langkah atau metode alami untuk menyelesaikan masalahnya? Metode alami artinya metode yang umumnya digunakan oleh manusia. Misalnya, untuk menghitung total dari sekumpulan nilai kita dapat menambahkan seluruh bilangan yang ada di dalam kumpulan nilai tersebut.5. Apakah fakta-fakta yang ada dapat direpresentasikan oleh simbol matematis dan dikategorikan menjadi fakta yang diketahui dan tidak diketahui?6. Apakah terdapat model lama yang dapat digunakan atau disesuaikan untuk menyelesaikan masalah kita?7. Jika terdapat model yang telah dikembangkan sebelumnya untuk masalah kita, apakah model tersebut dapat diaplikasikan pada komputer?8. Bagaimana kita dapat mengaplikasikan model dari solusi kita sehingga model tersebut dapat dibuat menjadi program komputer dengan mudah?

D. PengkodeanDalamilmu komputer,kode sumber(Inggris:source code) ataukode programadalah suatu rangkaian pernyataan atau deklarasi yang ditulis dalambahasa pemrogramankomputeryang terbaca manusia. Kode sumber yang menyusun suatuprogrambiasanya disimpan dalam satu atau lebihberkas teks, dan dapat pula ditampilkan dalam bentukcuplikan kode(code snippet) yang dicetak pada buku atau media lainnya.

Pada dasarnya, pemrograman pada Visual Basic relatif lebih mudah, tetapi dalam konsep modular programing kode-kode program diletakkan terpisah-pisah, sehingga inilah yang membuat para programer pemula agak bingung. Tidak seperti linear programming yang kode-kode programnya dituliskan di dalam satu tempat, pada modular programming kode-kode program letaknya tersebar, bergantung pada komponenkomponen aplikasi tersebut. Pada Visual Basic, kode-kode pemrograman biasanya diletekkan pada objek-objek sebagai berikut.

1. Objek FormBiasanya kode-kode program ini adalah kode-kode inisialisasi yang akan dijalankan apabila Form tersebut di-load.2. KontrolKontrol dapat memiliki kode-kode programnya sendiri yang disebut dengan event procedure atau metode dari kontrol tersebut. Setiap kontrol tersebut memiliki event procedure lebih dari satu, dan di dalam setiap event procedure yang dibuat bisa membuat program-program yang berbeda-beda, bergantung pada tindakan apa yang harus dilakukan oleh kontrol tersebut.3. Module standardIni adalah termasuk salah satu objek pada Visual Basic yang tidak tampak dan terpisah dari form, tetapi masih berada di dalam aplikasi. Modul standar berisi kode-kode program yang bersifat umum yang dapat dipanggil oleh objek apa saja yang membutuhkannya.

Cara Penulisan Program

Penulisan event procedure. Kode program yang dijalankan oleh sebuah objek disebut dengan metode atau sering juga disebut dengan event procedure atau prosedur event. Prosedur event ini adalah kode-kode program yang dijalankan apabila event dari suatu objek (Kontrol) dipicu oleh user.Prosedur event dimulai dengan kalimat Private Sub dan diakhiri dengan kalimat End Sub. Blok ini membentuk awal dan akhir dari suatu prosedur event. Baris-baris di antara kedua kalimat inilah yang harus dilengkapi untuk membentuk suatu modul program dari prosedur event tersebut. Cara penulisan event pun lebih mudah, pengguna tidak perlu menghapal semua event-event yang ada atau yang didukung oleh suatu kontrol. Visual Basic sudah menyediakan event-event tersebut pada suatu daftar yang tinggal anda pilih yang mana yang dibutuhkan. Klik pada kotak daftar nama event di sebelah kanan atas Jendela Code untuk menampilkan daftar event-event yang anda gunakan. Setiap kali dipilih salah satu event pada daftar tersebut, sacara otomatis akan dibuat sebuah kerangka program untuk event tersebut beserta kontrolnya yang bersangkutan.Pada hampir semua bahasa pemrograman terdapat sebuah perintah untuk menampilkan komentar pada program yang dibuat. Komentar atau remark ini tidak akan ikut proses saat aplikasi dijalankan, dan hanya berfungsi sebagai penjelas program yang dibuat.

Sintaks untuk menuliskan komentar (remark) bisa dilakukan dengan dua cara sebagai berikut:1. Dengan pernyataan Rem.Pernyataan ini hanya bisa diletakkan di bagian awal kalimat komentar. Semua kalimat yang terdapat dibelakangnya tidak akan ikut diproses.2. Dengan karakter apostrophe ().Karakter ini bisa diletakkan di awal kalimat (seperti pernyataan Rem) atau dibelakan kode program.Contoh :REM -----------------------------------REM Program : Menghitung hariREM Programer : DijasREM Tanggal : 11 November 2001REM -----------------------------------Dim intHasil As Integer Mendeklarasikan variabel inthasilDim intX As Integer Mendeklarasikan variabel intXintHasil = intX * 100 Mengalikan intX dengan 100