Anda di halaman 1dari 9

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 1

ANALISA PENDAHULUAN MASALAH 1. Memahami Masalah Dalam langkah awal untuk merancang suatu program komputer, terlebih dahulu harus diketahui masalah apa yang akan dibahas didalam program. Masalah dapat berupa problematik yang terjadi dalam suatu pengolahan data untuk menghasilkan suatu informasi. Masalah juga dapat diketahui dengan cara, bagaimana suatu gambaran bentuk layout dari suatu laporan atau informasi dihasilkan. Langkah kedua adalah memahami apa saja pemrosesan data yang terjadi untuk menghasilkan suatu informasi, mulai dari pendefinisian data sampai dengan menyajikan nilai dari data-data tersebut. Pemrosesan data ini terbagi atas 2 bagian pokok, yaitu : - Bagaimana mendapatkan nilai untuk setiap data. - Proses logika pengolahan data. Untuk mendapatkan nilai dari setiap data yang ada, dapat dilakukan dengan beberapa cara, seperti : - Memasukan nilai dari media input komputer. - Melakukan pemindahan nilai dari data yang sudah mempunyai nilai atau memindahkan nilai tertentu kedalam suatu data (move). - Melakukan pengisian data dengan melakukan proses aritmetik (assignment). Memasukan data melalui media input komputer dapat dilakukan dengan beberapa cara : - Menginputkan nilai dari keyboard. - Membaca data melalui media penyimpanan (Disk). Pemrosesan ini terjadi pada tahap input dalam suatu program, dan data-data yang mendapatkan nilai dengan cara ini disebut dengan data input. Namun tidak semua data yang mendapatkan nilainya dengan menginputkan dari keyboard atau membaca data dari disk di kategorikan kedalam kelompok data input, tetapi ada data tertentu yang dimasukan kedalam kategori data output, yaitu data semu seperti yang telah dijelaskan diatas pada bab I. Cara kedua untuk mendapatkan nilai data adalah proses pemindahan nilai (move). Pemrosesan ini terjadi pada tahap proses dalam sebuah program, dimana data yang mendapatkan nilai dengan cara ini dikategorikan kedalam data-data output. Begitu juga dengan cara pemberian nilai (assignment). Selain dari pengisian nilai, proses logika juga merupakan analisa penting didalam pengolahan data, dimana dengan proses logika dapat menghasilkan pembagian proses dan pengolahan data. Pembagian proses dapat secara penyeleksian (selection), pengelompokan proses (procedure), urut (sequential) dan perulangan (loop). Dalam penyeleksian akan terjadi percabangan proses berdasarkan kondisi (decision) tertentu. Pada pengolahan data yang mencakup batasan yang besar akan memiliki persyaratan proses yang banyak pula, maka proses ini dibagi ke dalam sub-sub proses tertentu berdasarkan syarat-syarat tertentu. Di dalam suatu program tidak semua sub tersebut yang dikerjakan, tetapi hanya sub-sub yang memenuhi syarat saja yang dikerjakan. Pengelompokan proses pengolahan data dibagi kedalam kelompok yang lebih besar dibandingkan dengan selection, dimana setiap 1 kelompok mempunyai satu tujuan tertentu untuk mendukung proses pengolahan data secara keseluruhan. Kelompok-kelompok ini merupakan bagian atau pecahan dari pengolahan data yang besar.

Proses yang urut (sequential) adalah proses yang sistematis mulai dari

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 2

mendapatkan nilai data input sampai diolahnya data tersebut untuk mendapatkan hasil sebagai nilai data output. Sedangkan perulangan (loop) adalah proses pengolahan data yang dikerjakan secara berulang-ulang atau lebih dari 1 (satu) kali. Untuk menerapkan analisa diatas dapat dilihat pada contoh berikut, yaitu membuat program Kartu Hasil Studi Mahasiswa pada semester tertentu dan program Entri Nilai Pascal. Contoh 1, Laporan Kartu Hasil Studi Bentuk Layout Akademi Manajemen Informatika & Komputer (AMIK) Yayasan Perguruan Tinggi Komputer (YPTK) Padang LAPORAN HASIL STUDI SISWA Semester II =============================================================== Nama / Nobp : x-------------------x / xxxxxxxx Kelas : XX ---------------------------------------------------------------------------------------------------------------| No | Kode | Mata Kuliah | Nilai | SKS | Mutu | SKSxMutu |Keterangan | ---------------------------------------------------------------------------------------------------------------| 99 | xxxxx | xxxxxxxxxxxxx | x | 9 | 9 | 99 | xxxxxx | | | | | | | | | | | | | | | | | | | ---------------------------------------------------------------------------------------------------------------| Jumlah | | | 999 | | ---------------------------------------------------------------------------------------------------------------Indeks Perestasi = 9,99 SKS Yad = 99 Proses yang terjadi : - No = No + 1 - Jika Nilai = 'A' maka Mutu = 4, Jika Nilai = 'B' maka Mutu = 3, Jika Nilai = 'C' maka Mutu = 2, Jika Nilai = 'D' maka Mutu = 1, Jika Nilai = 'E' maka Mutu = 0 - Jika Nilai = 'A' maka Keterangan = 'Terpuji', Jika Nilai = 'B' maka Keterangan = 'Baik', Jika Nilai = 'C' maka Keterangan = 'Cukup', Jika Nilai = 'D' maka Keterangan = 'Kurang', Jika Nilai = 'E' maka Keterangan = 'Gagal' - Jumlah SKS = Jumlah SKS + SKS - SKSxMutu = Sks * Mutu - Jumlah SKSxMutu = Jumlah SKSxMutu + SKSxMutu - Indeks Prestasi = Jumlah SKSxMutu / Jumlah SKS - Jika Indeks Prestasi > 3,25 maka SKS Yad = 24, Jika Indeks Prestasi > 2,74 maka SKS Yad = 21, Jika Indeks Prestasi > 2,00 maka SKS Yad = 18, Jika Indeks Prestasi > 1,50 maka SKS Yad = 15 Jika Indeks Prestasi > 0,00 maka SKS Yad = 12 Pada contoh ini merupakan prosedur pengolahan data berbentuk output atau tahap output. Dalam suatu pengolahan data tidak akan mungkin hanya ada tahap output saja tanpa ada tahap input, karena data apa yang akan diproses untuk mendapatkan informasi?. Konsep dari pengolahan ini harus disesuaikan dengan pengolahan data yang ada pada sistem komputer, yaitu :

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 3

TAHAP INPUT ===> TAHAP PROSES ====> TAHAP OUTPUT Maka pada contoh ini memiliki tahap input, yang mana di dalam logika pengolahan data seolah-olah disembunyikan. Contoh 2. Entri Nilai Pascal Bentuk Layout ENTRI NILAI PASCAL AMIK "YPTK" ============================== Nomor BP = xxxxxxxx Nama Mahasiswa = x------------------------x Kelas = xx Nilai Tugas = 999 Nilai Quiz = 999 Nilai Mid Semster = 999 Nilai Ujian Akhir = 999 Nilai Akhir = 999,99 Nilai Bobot =x Keterangan = xxxxxxxxxx Masih ada data [Y/T] = x Proses yang terjadi - Nilai Ujian Akhir = (10% * Nilai Tugas) + (15% * Nilai Quiz) + (35% * Nilai Mid Semester) + (40% * Nilai Ujian Akhir). - Jika Nilai Akhir > 79,99 maka Nilai Bobot = 'A'; Keterangan = ' Terpuji', Jika Nilai Akhir > 64,99 maka Nilai Bobot= 'B'; Keterangan = 'Baik', Jika Nilai Akhir > 54,99 maka Nilai Bobot = 'C'; Keterangan = 'Cukup', Jika Nilai Akhir > 39,99 maka Nilai Bobot = 'D'; Keterangan = 'Kurang', Jika Nilai Akhir > 0,00 maka Nilai Bobot = 'E'; Keterangan = 'Gagal'. - Jika masih ada data maka program diulang dari awal. Pada pengolahan data ini merupakan pengolahan data input yang diproses menjadi data output, sehingga dalam permasalahan sudah jelas tahap-tahap pengolahan yang terjadi. Ini dapat dilihat dari data yang tidak hasil proses (tahap proses) diberi tempat untuk mengisikan nilai pada deskripsi item yang sudah disediakan didalam satu informasi laporan. Kedua contoh diatas, pada bagian proses dapat dilihat bagaimana logika pembagian proses pengolahan datanya, ada yang memakai selection (jika), urut (penjumlahan suatu nilai), prosedur (tahap input, tahap proses, tahap output), dan perulangan (selagi masih ada data dan satu data mahasiswa mempunyai banyak data matakuliah). Juga untuk mendapatkan nilai-nilai dari data tersebut mempunyai proses yang jelas, apakah diinputkan dari keyboard atau membaca dari disk untuk data yang tidak mendapatkan nilai dari tahap proses tertentu, atau mengalami tahap proses tertentu, seperti input nama mahasiswa atau SksxMutu = Sks * Mutu. 2. Identifikasi Data Langkah kedua dalam menganalisa pendahuluan masalah adalah melakukan pengindentifikasian dan pendaftaran data yang ada dalam laporan suatu informasi. Data yang diidentifikasikan tersebut merupakan item-item yang akan diisi dengan nilai atau yang akan menampilkan sesuatu nilai, baik itu nilai numerik atau nilai string. Dalam suatu laporan biasanya item tersebut dikenal dengan huruf x (untuk string) atau 9 (untuk numerik). Pendaftaraan harus dilakukan untuk seluruh item yang mempunyai deskripsi (keterangan) yang mengenal suatu nilai item, yang biasanya terletak diawal atau diatas nilai yang akan diisi atau ditampilkan. Identifikasi data dari contoh 1 diatas

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 4

adalah sebagai berikut : - Nama mahasiswa - Nomor BP mahasiswa - Kelas Mahasiswa - Nomor Urut - Kode mata kuliah - Nama mata kuliah - Nilai bobot per mata kuliah - SKS per mata kuliah - Nilai mutu per mata kuliah - Nilai mutu kali sks per mata kuliah - Keterangan per mata kuliah - Jumlah sks yang diambil oleh 1 orang mahasiswa - Jumlah sks kali mutu - Indeks prestasi yang diperoleh - Dan Jumlah sks yang dapat diambil pada semester berikutnya. Identifikasi data dari contoh 2 diatas adalah sebagai berikut : - Nomor BP mahasiswa - Nama mahasiswa - Kelas mahasiswa - Nilai tugas - Nilai quiz - Nilai mid semester - Nilai ujian akhir semester - Nilai akhir yang diperoleh - Nilai Bobot ('A', 'B', 'C', 'D', 'E') - Dan Keterangangan - Masih ada data. 3. Menentukan Variabel Variabel adalah suatu data yang mempunyai nilai dan setiap variabel mempunyai nilai yang berubah-ubah sesuai dengan yang diinputkan (pada tahap input) dan proses yang terjadi (tahap proses). Seperti yang telah dijelaskan diatas, bahwa nilai dari data-data tersebut hanya berupa numerik 3(angka) untuk yang melakukan operasi aritmetik dan string untuk nilai yang tidak mengalami operasi aritmetik. Didalam pengolahan data, identifikasi data tidak dapat dipakai di dalam program tetapi yang dipakai adalah variabel yang mewakili dari identifikasi data tersebut. Identifikasi data hanya merupakan pengenal untuk yang melakukan pengolahan data (programmer), maka untuk sebuah program setiap identitas pengenal tersebut dibuatkan variabelnya. Dalam melakukan pendefinisian variabel dari identifikasi data dibagi atas beberapa bagian : a. Pemberian nama variabel (name) Memberi nama variabel haruslah mudah di ingat oleh si programmmer. Dan cara pemberian nama variabel untuk semua bahasa pemrograman pada umumnya sama tapi panjang huruf nama variabel tergantung dari bahasa yang dipakai. Untuk lebih mudah diingat, pemberian nama variabel sebaiknya dibatasi sebanyak 8 (delapan) huruf. Adapun ketentuan umum adalah sebagai berikut : - tidak boleh didahului oleh angka - tidak boleh ada spasi kosong diantara nama (blank) - tidak boleh memakai tanda operator aritmetik ("-", "+", ",", ".", "*", "/", dan lainlain) - tidak boleh memakai kata-kata yang didefinisikan oleh bahasa program (software

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 5

definite word).

b. Tipe data yang dipakai (Type). Tipe data dasar dibagi atas 2 bagian, yaitu : - String, yaitu tipe data yang digunakan untuk menampung nilai yang tidak akan dioperasikan secara aritmetik. - Numerik, yaitu tipe data yang digunakan untuk operasi aritmetik. c. Panjang nilai digit yang ditampung (Width) Untuk penentuan panjang digit menampung nilai tergantung dari bahasa yang digunakan, dan untuk digit desimal tidak boleh sama atau melebihi dari banyak digit menampung nilai data keseluruhan. Untuk penampungan panjang digit nilai yang ditampung dibagi berdasarkan tipe data yang dipakai. Untuk Tipe data string terdiri dari panjang nilai digit yang ditampung saja, sedangkan untuk tipe data numerik terdiri dari panjang digit nilai yang ditampung keseluruhnya , 1 digit untuk tanda desimal dan panjang digit nilai desimalnya (Decimal). d. Pengenal dari variabel (Description). Pengenal variabel digunakan untuk lebih menjelaskan setiap identitas variabel yang digunakan, sesuai dengan identifikasi data yang sudah ditentukan sebelumnya. Penentuan variabel dari contoh 1 diatas adalah sebagai berikut : ----------------------------------------------------------------------------------------------Name Type Width Decimal Description ---------------------------------------------------------------------------------------------- Nama String 25 Nama Mahasiswa Nobp String 8 Nomor BP Kelas String 2 Kelas Nomor Numerik 2 0 Nomor urut Kode String 4 Kode matakuliah Bobot String 1 Nilai bobot Mtk String 15 Nama mata kuliah SKS Numerik 1 0 SKA Mutu Numerik 1 0 Nilai Mutu MS Numerik 2 0 Nilai Mutu * SKS Ket String 10 Keterangan J_sks Numerik 2 0 Jumlah SKS J_SM Numerik 2 0 Jumlah SKS * Mutu IP Numerik 5 2 Indeks Prestasi S_Yad Numerik 2 0 SKS Yad ----------------------------------------------------------------------------------------------Variabel untuk contoh 2. ----------------------------------------------------------------------------------------------Name Type Width Decimal Description ---------------------------------------------------------------------------------------------- Nama String 25 Nama Mahasiswa Nobp String 8 Nomor BP Kelas String 2 Kelas Tugas Numerik 3 0 Nilai Tugas Quiz Numerik 3 0 Nilai Quiz Mid Numerik 3 0 Nilai Mid UA Numerik 3 0 Nilai Ujian Akhir NA Numerik 6 2 Nilai Akhir Bobot String 1 Nilai Bobot Ket String 10 Keterangan

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 6

Mad String 1 Masih ada data ----------------------------------------------------------------------------------------------4. Klasifikasi Variabel Setelah dilakukan pemberian name, type, width, decimal, dan description variabel terhadap data-data yang dibutuhkan dalam sebuah program, langkah selanjutnya adalah mengkalasifikasikan variabel yang dipakai tersebut atas 2 (dua) bagian, yaitu : - Variabel Input - Variabel Output. Klasifikasi ini mengelompokkan variabel data yang ada sesuai dengan tahap program, apakah pada tahap input, tahap proses, atau tahap output. Yang lebih penting dari pengklasifikasian ini adalah untuk mencari variabel input atau variabel yang dipakai dalam tahap input saja. Dalam suatu pengolahan data untuk membuat program yang pertama sekali dilakukankan adalah input data, karena jika suatu program tidak memiliki data input maka program itu monoton (setiap kali di jalankan akan menghasilkan bentuk informasi yang sama. Juga dari data input ini nantinya untuk menetapkan struktur data apa yang dipakai dan apa saja data-data yang disimpan. Dalam penentuan klasifikasi data, apakah data input atau data output, dapat dilakukan dengan : - Jika suatu data mendapatkan nilainya dari proses, seperti pemindahan nilai (move) atau pengisian nilai (assignment), dan data semu maka data ini diklasifikasikan menjadi kelompok data output dan selain dari itu adalah data input. Jadi jika data tersebut data ouput maka harus ada proses terhadap data tersebut, jika tidak maka menjadi data input. Suatu program yang mempunyai nilai tinggi atau terbaik adalah program yang menimalkan sekali pemakaian data input, karena : - Sedikit data input akan meminimalkan terjadinya pemasukan data dari media input seperti pemakaian keyboard sehingga operator tidak terlalu banyak mengetikan data, yang mengakibatkan memakai waktu relatif lama dan tenaga lebih besar, atau - Sedikitnya data input akan mempercepat pemindahan nilai (move) dan meminimalkan pemakaian memory sehingga dapat memperbanyak data disimpan dalam media input. Dari analisa diatas dapat dibedakan apakah data tersebut data input atau data ouput, dimana setiap data dikenal dengan nama variabel yang didefinisikan. Maka klasifikasi data dari contoh diatas adalah sebagai berikut. Contoh 1 Data Input - Nama - Nobp - Kelas - Kode - Mtk - Bobot - SKS. Karena untuk mendapatkan nilai dari data tersebut diatas tidak ada proses pemindahan nilai (move) dan pemberian nilai (assignment) dan data untuk kondisi logika (semu).

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 7

Data Output ---------------------------------------------------------------------------------------------- Data Proses Yang Terjadi Jenis Proses ---------------------------------------------------------------------------------------------- Nomor Nomor = Nomor + 1 Assignment Mutu Bobot='A' -> Mutu= 4, 'B'->3, 'C'->2, 'D'->1, 'E'->0 Move MS MS = Sks * Mutu Assignment Ket Bobot = 'A' -> Ket='Terpuji' 'B'->'Baik', 'C'->'Cukup' 'D'->'Kurang', 'E'->'Gagal' Move J_sks J_sks = J_sks + Sks Assignment J_SM J_SM = J_SM + MS Assignment IP IP = J_SM / J_sks Assignment S_Yad Ip > 3,25->S_Yad=24, 2,74->21, 2,00->18, 1,50->15, 0,00-> 12 Move ----------------------------------------------------------------------------------------------Keterangan : - Assignment => Pemberian Nilai - Move => Perpindahan Nilai Contoh 2 Data Input - Nama - Nobp - Kelas - Tugas - Quiz - Mid - UA. Karena untuk mendapatkan nilai dari data tersebut diatas tidak ada proses pemindahan nilai (move) dan pemberian nilai (assignment) dan data untuk kondisi logika (semu). Data Output ---------------------------------------------------------------------------------------------- Data Proses Yang Terjadi Jenis Proses ---------------------------------------------------------------------------------------------- NA NA=(15%*Tugas)+(20%*Quiz)+(35%* Mid)+(45%*UA) Assignment Bobot NA>79,99->Bobot='A', 64,99->'B' ,54,99->'C',39,99->'D',0,0->'E' Move Ket Bobot = 'A' -> Ket='Terpuji' | 'B'->'Baik', 'C'->'Cukup' 'D'->'Kurang', 'E'->'Gagal' Move Mad Mad='Y' Semu ----------------------------------------------------------------------------------------------Catatan : Data Mad adalah variabel output, dimana variabel ini hanya merupakan variabel semu yang mengontrol suatu kondisi logika untuk perulangan (loop) dalam pengolahan data.

5. Struktur Data Setelah didapatkan data-data apa saja yang akan diinputkan dari media input komputer, langkah selanjutnya adalah menentukan bagaimana bentuk struktur data yang dipakai dalam penampungan dari data input tersebut untuk disimpan (save). Jenisjenis dari penampung data terbagi atas 2 (dua) kelompok besar yang ditinjau dari media yamg dipakai, yaitu :

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 8

a. Memory Volatile. b. Memory Non Volatile. Memory volatile adalah memori internal komputer tempat menampung data, dimana data yang ditampung tersebut akan selalu ada jika arus listrik ke komputer jalan terus-menerus atau tidak pernah terputus (on). Data yang telah dimasukan kedalam memory ini bila terjadi putusnya arus listrik maka data tersebut akan hilang secara sendirinya, sehingga data yang disimpan di dalam memory ini tidak bisa bertahan lama. Struktur data yang dipakai untuk media volatile salah satunya adalah berjenis array (larik). Struktur data array digunakan untuk menampung sekumpulan data yang bertipe sama dan nama pengenal (variabel) yang sama, hanya nilai data dibedakan oleh indeks dari setiap data tersebut. Memory non volatile adalah memory eksternal komputer yang berfungsi tempat menampung data. Pada memory non volatile data yang disimpan akan selalu ada walaupun arus listrik ke komputer tersebut putus (off). Media penampung data ini lebih cocok untuk waktu yang lama dan dapat menampung data lebih banyak. Media yang digunakan disebut dengan Disk, seperti Floppy Disk, Hard Disk, Comapaq Disk, Tape Disk, dan lain-lain. Salah satu struktur data yang dipakai untuk memory non volatile ini adalah berjenis File dan jajarannya, seperti Data Base, Record, dan Field. Data yang ditampung dapat memiliki berjenis-jenis tipe data, dan nama data (variabel) yang berbeda pula. Ini hanya merupakan struktur data standar yang dimiliki oleh semua bahasa pemrograman. Dan masih banyak lagi struktur data lain yang cara kerjanya sama dengan kedua struktur data diatas. Pada analisa terakhir ini hanya untuk menentukan tingkatan (level) dari data input yang ditampung tersebut, sedangan jenis struktur apa yang dipakai itu tergantung oleh pembuat program dan bahasa apa yang akan dipakai. Tingkatan data (level) dari data input pada struktur data pemakaian memory volatile (array) hanya untuk menentukan banyaknya dimensi indek yang digunakan, sedangkan pada pada memory non volatile (file) untuk menentukan banyak file yang digunkan. Selain dari pada itu, cara ini juga untuk minimalkan terjadinya redundant data (nilai data yang sama disimpan berulang-ulang), sehingga lebih hemat dalam pemakaian memory komputer. Cara untuk menentukan tingkat atau level data dapat dilakukan sebagai berikut : a. Ambil salah satu variabel dari data input sebagai kunci cuan. b. Bandingkan data tersebut, apakah nilai yang ditampung oleh data acuan juga variabel berikutnya menampung satu nilai yang berbeda tapi objek yang sama ?. Jika ya maka variabel tersebut setingkat atau selevel, jika tidak berarti data tersebut tidak setingkat atau selevel. Begitu seterusnya. c. Jika lebih dari 1 tingkat (level), bandingkan setiap tingkat tersebut, mana tingkat yang menampung data lebih banyak semakin rendah tingkat atau levelnya. Pada file tingkat (level) yang paling tinggi maka tingkat tersebut yang menjadi file master (induk). Dari contoh analisa diatas dapat dibuat tingkat data inputnya sebagai berikut :

Contoh 1

Analisa Pendahuluan Dalam Perancangan Program Komputer

Halaman 9

Level 1 - Nama - Nobp - Kelas

Level 2 - Kode - Nilai - Sks - Mtk

Pada level 1 mempunyai nilai data nama, nobp, dan kelas pada objek yang sama yaitu mahasiswa, sedangkan kode, nilai, sks, dan mtk mempunyai objek yang sama pula yaitu matakuliah. Antara nilai-nilai objek mahasiswa berbeda dengan nilai-nilai objek matakuliah, dimana setiap 1 data mahasiswa memiliki banyak nilai mata kuliah. Struktur data dari tingkatan diatas dapat dijadikan sebagai file master adalah file data mahasiswa dan matakuliah sebagai anak filenya. Dalam memakai struktur data array maka setiap data mahasiswa memiliki 1 dimensi data matakuliah dengan banyak jajarannya. Contoh 2 Level 1 - Nama - Nobp - Kelas - Tugas - Quiz - Mid - UA Nilai-nilai pada data input ini mempunyai objek yang sama semuanya atau setingkat, dimana setiap 1 nilai nama memiliki 1 nilai nobp, 1 nilai kelas, 1 nilai tugas, 1 nilai quiz, 1 nilai mid, dan 1 nilai ua.

Anda mungkin juga menyukai