alexa-tracking

Help, Metode untuk analisa source code pada java ?

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/541781fec0cb178b798b4571/help-metode-untuk-analisa-source-code-pada-java
Breaking News! 
Help, Metode untuk analisa source code pada java ?
Maaf sebelumnya bila trit ane emoticon-Repost

Ceritanya ane mau bikin program transformasi dari souce code jadi flowchart.

dasar pemrograman ane pake java desktop.
jadi teknik dasarnya ialah menganalisa string-string supaya program dapat mengenal mana type data, mana variable, dan mana isi value variable dari souce code yang kita buat.

kira-kira metode apa yang tepat ya gan ???
Quote:


kalo ane sih masih kurang mudeng maksud agan
cuman sekilas kayaknya ini macam reverse enginerring, kalo dari kode ke flowchart ya musti pake parser - dulu matkul-nya namanya teknik kompilasi - jadi musti tau grammar kode yg mau diparse

googling aja yg kaya gini ada kok open source-nya terus dipelajari, ane dah pernah make buat tugas dulu - yg program jadi jg ada bisa buat referensi

Quote:


kalo contoh algoritmanya gan ???
ane kesulitan cari contoh algoritmanya.

Quote:


intinya gan, gmana program bisa ngebaca string-string dalam source code dan d pilah mana variable, tipe data, sama isi variable.
oh iya, ada lagi yang ane lupa, gmana caranya agar program yang bisa membaca statement2 yang ada dalam if, while, sama for gan ???

klo berkenan ane bisa minta algoritmanya gan ?
Quote:



coba googling "lexical analysis algorithm", atau baca2 literatur tentang compiler design macam buku naga

lebih gampang cari lexer yg support java
Quote:


untuk orang yg mau bikin app berdasarkan topik ginian menurut ane googling algo bukan suatu hal yg rumit - imho

ane dulu punya buku ttg parser (hardcopy) buat bantu ngerjain tugas ginian (tek kompilasi)
awalnya kumpulin dulu reserverd/keyword2 bhs target - terus susunan grammar bahasa (regex bisa membantu) - bikin token2 pake parser - trus pake juga struktur data stack/LIFO dan tree utk ngebangun blok2-nya

utk tampilan flowchart ane pake 3rd party - jadi output program ane musti nyesuaiin sama format input itu 3rd party buat nampilin hasilnya - jadi bahasa target Pascal - utk parser ane pake java - tapi ane batasi ga full implemented - yg basic2 doang utk sequence - looping standar - branching - soale kalo handle rescursif ane bakalan mencret

kalo saran dari agan momod dah pas itu referensi sama istilahnya, ente dah baca belum????

ini sebenernya ente buat apaan ya bikin2 kaya gini? buat TA/skripsi atau apa? udah sejauh apa ente buatnya?

kalo buat iseng2 mending ga usah dah, bikin ginian ane 1 semester itu jg live version
Quote:


buat skripsi gan, maaf ane baru pertama d mari.
ane g dapat ide apa2 buat cari judul kecuali ginian.
ane belum ngerjain apa-apa gan, sejauh ane nyoba ane udah bikin pake regex, tapi langsung dari javanya gan, cuma make fungsinya aja.
itu pun g langsung jadi flow chart tp masih dalam bentuk text berupa keterangan mana input, proses, output, function, looping.

jadi ane cari algoritma yang pas klo buat kayak gini.

tool third party buat flowchartnya apa gan ???
Ini fungsinya apa ya emoticon-Gila
Udah jadi code kok malah dijadiin flow chart emoticon-Hammer
Quote:

algoritma itu (dalam hal ini) tergantung dari teori dasar yg berkenaan dgn permasalahan yg agan ini pecahkan - teori dasarnya teknik kompilasi - lalu dilanjutkan dgn lexical analysis spt agan momod sdh berikan

btw pertanyaan ane ane sebelumnya mengenai apakah agan udah baca link yg dikasih oleh agan momod belum dijawab - pdhal udah ane bold
akhirnya berulang-ulang agan tanya lagi mengenai algoritmanya pdhal dari links/keyword yg agan momod kasih udah bener untuk menuntun ke algoritma yg ente cari

Quote:


ane dah lupa nama toolsnya, tapi barusan ane googling ketemu namanya graphviz - kayaknya ini yg ane pake dulu cuman dah ganti tampilan web-nya - ane pake yg model neato kalo ga salah

kalo ane boleh saranin ganti aja topiknya menjadi analisis menggunakan class diagram - bukan pake flowchart - selain (kayaknya) relatif lebih mudah (cmiiw) dibanding generate flowchart, jg lebih pas aja utk OOP

nah ada 2 cara :
1. pelajari dari link yg agan momod kasih
2. ubek2 itu source code dari program jadi yg open source

khusus yg no 2, ane dah dpt itu source code utk class diagram dr hasil googling

btw ene jurusannya apa ya gan?

Quote:


maaf gan, ane baru pertama d mari, jadi ane kagak tau, jadi belum baca gan. emoticon-Malu

ane jurusan informatika gan.
class diagram kan UML itu kan gan ???
oke gan, ane coba pertimbangin lagi buat bandingin flowchart sama class diagram, tapi untuk metodenya
metode lexical masih di pake kan ???

kklo linknya ada buat yang no. 2 ane bisa minta gan ???
Quote:


Mungkin bisa untuk semacam analisis cara kerja virus biar bisa buat antivirusnya lebih gampang, gak tau juga sih ane gak bisa buat virus maupun antivirus emoticon-Ngakak

Atau mungkin berguna di dunia intelijen buat ngoprek program punya musuh emoticon-Ngakak
dia mo reverse engineering kayaknya
jadi dari sourcecode lalu dibikin class diagramnya
mungkin mirip2 featurenya RationalRose

cara susahnya pakek lexer semacem ANTLR
cara gampangnya modal regex doang bisa kayaknya
tinggal parsing itu class extends apa, implements siapa
Quote:

lha itu kan tinggal klik aja link dari agan mnemonix, ada di page ini kok emoticon-Hammer (S)
Quote:

yup, UML Class Diagram, untuk caranya pake reflection spt saran mod mnemonix - yang utamanya ente tinggal handle [package]class relationship macam inheritance - interface - abstract dll
and please jangan bilang "maaf gan, ane baru pertama d mari, jadi ane kagak tau, jadi belum baca" - itu tinggal di klik link-nya - ada di halaman ini
Quote:

mending agan coba coding sendiri aja, ga sampai seminggu jg kelar kalo yg lite version
link? maap bukan ane ga mau bantu kasih link ya gan - demi kebaikan ente sendiri (ntar pas kerja ente bakalan sering googling utk bantu selesain kerjaan ente - kalo menurut ane ya gan) - tinggal googling aja cuman beberapa menit pasti dapet - ente udah tahap skrpsi jurusan informatika pula kan? - ente pasti bisa
kalau ada agan2 laen yg mau bantu kasih link silahkan aja

gud lak gan
Quote:


pakek ANTLR kayaknya "gak" susah2 amat
http://danielveselka.blogspot.com/20...ee-walker.html

AST nya langsung jadi
mana deklarasi method, mana parameternya, mana deklrasi variabel etc etc keliatan

emoticon-Ngacir
Quote:


tentunya lebih susah jika dibandingkan sama parsing manual semacem regex emoticon-Malu (S)
Quote:


Quote:


hihihi, gak sampe segitu lah gan,, emoticon-Ngakak

Quote:


ya ampun gaaan, ane paham sekarang gan.
thx gan,
maaf jika ada yang kurang berkenan. emoticon-Malu

Quote:


regular expression juga bisa buat parsing gan ???
kalo berkenan ada contoh referensinya ???
gan, ane dapat saran dari dosen, pake regex aja dulu soalnya katanya yang paling mudah...

ane cari d google contoh2 regex, contoh2 string yang akan d manipulasi menggunakan bahasa formal gan, bukan bahasa program.
contoh :

Code:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class regex2
{
public static void main( String args[] ){

// String to be scanned to find the pattern.
String line = "This order was placed for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";

// Create a Pattern object
Pattern r = Pattern.compile(pattern);

// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
} else {
System.out.println("NO MATCH");
}
}
}


stringnya : "This order was placed for QT3000! OK?"

contoh lain :

Code:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
private static final String REGEX = "\\bcat\\b";
private static final String INPUT = "cat cat cat cattie cat";

public static void main( String args[] ){
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(INPUT); // get a matcher object
int count = 0;

while(m.find()) {
count++;
System.out.println("Match number "+count);
System.out.println("start(): "+m.start());
System.out.println("end(): "+m.end());
}
}
}


stringnya : "cat cat cat cattie cat"

klo yang ane mau manipulasi kayak gini stringnya ?

Code:

int a=1
String b="cek"
public static void main(String[] args){
System.out.print("saya sedang belajar");
int n=new Scanner(System.in).nextInt();


ane butuh contoh referensinya buat manipulasi string2 yang kyk gtu gan.
contoh aja gan.
Quote:


coba agan download javadoc API aja dulu (yg utama), sama kalo bisa download java tutorial-nya, download di oracle.com ya gan
kalau keberatan utk download bisa ke sini

terus sebelum lanjut coding mungkin agan ada baiknya latihan googling
ini ane serius dan no offense lho gan - banyak hal2 yg ente tanyakan sebenernya bisa didapat (sebisa mungkin) dari googling dulu - SERP tersedia 7/24

gut lak gan

Quote:


klo mau googling sesuatu yang mau kita cari, keyword2nya harus yg gmana gan ???