I agree with zeroth's comment but if you are totally confused by TikZ perhaps it will be a good idea to help you.
In your diagram, you have : texts and arrows. TikZ gives you a tool named node
to place text inside a shape. With a node, TikZ defines for you some objects (anchors) to draw correct edges between the nodes.
First we place the nodes:
\begin{tikzpicture}
\node (e) at (3,1){e}; % {e} label of the node (e) reference or name of the node
\node (t) at (2,2){t};
\node (u) at (0,6){};
\node (g) at (4,2){};
\node (g) at (5,2){f};
\node (h) at (6,2){};
\node (x) at (2,4){x};
\node (y) at (3,4){};
\node (z) at (4,4){};
\end{tikzpicture}
The shapes of some nodes are drawn and the shapes are similar. By default, the shape is a rectangle and with the option minimum width=1cm
we can get a square.
We want to give the same shape for all nodes also this can be achieved with every node/.style= minimum width=1cm
. The nodes are placed with 1 cm between the centers
\begin{tikzpicture} [every node/.style={minimum size=1cm}]
\node (e) at (2,0){e}; % {e} label of the node (e) reference or name of the node
\node (t) at (1,1){t};
\node (u) at (0,6){}; % a name but an empty label
% now we draw the shape for the next nodes, we can add an option
\tikzset{every node/.append style={draw}}
\node (g) at (4,2){};
\node (g) at (5,2){f};
\node (h) at (6,2){};
\node (x) at (2,4){x};
\node (y) at (3,4){};
\node (z) at (4,4){};
\end{tikzpicture}
To draw an arrow, you need to give two nodes or two coordinates (start and end):
For example \draw[->,>=latex] (y) -- (t);
draws a line between two nodes. The points at each extremities of the arrow are selected by tikZ. You can give these points
\draw[->,>=latex] (y.center) --(t.north);%
The anchors defined by TikZ :
When you create a node, you define some special points (anchors) around the shape. An option outer sep
can be used to modify the positions of anchors around the node. With outer sep=2pt
, the arrows are placed at 2 pts of the shape.
We can change the node style.
[every node/.style={minimum size=1cm,outer sep=2pt}]
In the next picture you can see the action of outer sep
. The gray part is added by outer sep
. You get the same result with other shapes.

Now to draw a simple arrow like the one between (y) and (t), we can use :
\draw[->,>=latex] (y.center) to[out=-135,in=90] (t.north);
[->,>=latex]
are options : ->
to get an arrow and >=latex
for the style of the head.
[out=-135,in=90]
are options for the powerful command to
. The arrow begins with an angle=-135 from the point (y.center)
and arrives with an angle 90
at (t.north)
.
The next arrow is more complicated to draw because we need to decompose it in several parts:
\draw[->,>=latex] (h.center) to [out=-90,in=180] +(1,-1)
to [out=0,in=-60] +(+1,+3)
to [out=120,in=90] (y.north);
start : (h.center) with an angle of -90
next step : +(1,-1) these coordinates are relative to last coordinates of (h.center)
next step : +(1,+3)
final : (y.north)
What can we improve?
Like in others answers, we can use multiple text parts but the principle are the same. There are other possibilities.
Final code :
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} [every node/.style={minimum size=1cm,outer sep=2pt}]
\node (e) at (2,0){e}; % {e} label of the node (e) reference or name of the node
\node (t) at (1,1){t};
\node (u) at (0,6){};
% we draw the shape for the next nodes we can add an option
\tikzset{every node/.append style={draw}}
\node (g) at (4,2){};
\node (g) at (5,2){f};
\node (h) at (6,2){};
\node (x) at (2,4){x};
\node (y) at (3,4){};
\node (z) at (4,4){};
\draw[->,>=latex] (u.east) to [out=0,in=120] (y.north);
\draw[->,>=latex] (y.center) to[out=-145,in=90] (t.north);
\draw[->,>=latex] (h.center) to [out=-90,in=180] +(1,-1)
to [out=0,in=-60] +(+1,+3)
to [out=120,in=70] (y.north);
% the arrow is placed at the end of a path. You need to study the concept of path
\end{tikzpicture}
\end{document}

Now I think you can finish the diagram.
rectangle split
), 16.11 Connecting Nodes.