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 lain-
lain)
- 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). Jenis-
jenis 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 Level 2
- Nama - Kode
- Nobp - Nilai
- Kelas - 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.